<vxe-column v-for="item in allFhcl" :key="item.id" :title="item.name" width="120" align="center" :edit-render="{}"> <template #default=scope> <template v-for="cl in scope.row.detailList" :key="cl.id"> <vxe-input v-if="cl.editorRcjId === item.id" v-model="cl.number" type="text"></vxe-input> </template> </template> </vxe-column>
时间: 2023-11-11 07:23:23 浏览: 163
根据您提供的代码,我可以看到您在 `vxe-column` 组件上使用了 `edit-render` 属性,但是该属性的值为空对象。在 `vxe-input` 组件的 `v-if` 属性中,您使用了 `cl.editorRcjId === item.id` 条件来判断是否需要显示输入框,但是我无法确定 `cl.editorRcjId` 和 `item.id` 的值是什么。
如果您的问题是希望在表格渲染时,初始状态下某些单元格处于编辑状态,可以通过在该单元格的 `edit-render` 属性中设置 `autofocus` 属性来实现。例如:
```
<vxe-column field="name" title="姓名" :edit-render="{ autofocus: true }"></vxe-column>
```
如果您的问题不是这个,请提供更多细节信息,以便我更好地为您提供帮助。
相关问题
< vxe - form : model =" PatientIDForm ": data =" PatientIDForm " title - align =" right " title - width ="100"@ submit =" editSubmit "> < vxe - form - item V - for =" item of PatientIDForm ": key =" item . key ": title =" item . label " title - align =" left ": span ="24" field =" item "> < div > < vxe - input v - model =" item . value " type =" number " nin ="0" style =" width :68px": key =" iten . key +'1'"></ vxe - input > < vxe - button type =" text " style =" color :#Be9aef": loading =" iten . get _ button _ loading "@ click =" getPatientId ( item )": key =" item . key +'2'">获取</ vxe - button >< br >< vxe - input v - model =" item . result ": key =" item . key +'3'"></ vxe - input > < span : key =" item . key +'4'">{{'实际获取数量:'+( item . result ? item . result . split (','). length :0)}}</ span > </ div > </ vxe - form - item > </ vxe - form >为什么我的vxe-form-item中元素不实时更新
从你提供的代码来看,可能是因为你的 v-model 绑定方式有误。在你的代码中,你使用了 `v-model="item.value"` 和 `v-model="item.result"` 来绑定数据,但是你在模板中直接使用了 `item.value` 和 `item.result` 来更新数据,这会导致数据不会实时更新。
正确的绑定方式应该是在模板中使用 `v-model` 来绑定数据,像这样:
```html
<vxe-form-item v-for="item of PatientIDForm" :key="item.key" :title="item.label" title-align="left" :span="24" :field="item">
<div>
<vxe-input v-model="item.value" type="number" min="0" style="width: 68px" :key="item.key + '1'"></vxe-input>
<vxe-button type="text" style="color: #be9aef" :loading="item.get_button_loading" @click="getPatientId(item)" :key="item.key + '2'">获取</vxe-button>
<br>
<vxe-input v-model="item.result" :key="item.key + '3'"></vxe-input>
<span :key="item.key + '4'">{{ '实际获取数量:' + (item.result ? item.result.split(',').length : 0) }}</span>
</div>
</vxe-form-item>
```
这样就能保证数据实时更新了。另外,你的代码中有一个小错误,`v-for` 属性应该写作 `v-for="item in PatientIDForm"` 而不是 `v-for="item of PatientIDForm"`,这可能会导致语法错误。
<vxe-form-item v-for="item of PatientIDForm" :key="item.key" :title="item.label" title-align="left" :span="24" :field="item"> <div> <vxe-input v-model="item.value" type="number" min="0" style="width: 68px" :key="item.key + '1'"></vxe-input> <vxe-button type="text" style="color: #be9aef" :loading="item.get_button_loading" @click="getPatientId(item)" :key="item.key + '2'">获取</vxe-button> <br> <vxe-input v-model="item.result" :key="item.key + '3'"></vxe-input> <span :key="item.key + '4'">{{ '实际获取数量:' + (item.result ? item.result.split(',').length : 0) }}</span> </div> </vxe-form-item>为什么我的vxe-form-item中元素不实时更新
从你提供的代码来看,vxe-form-item中的元素应该是会实时更新的。如果出现了不实时更新的情况,可能是由于以下原因之一:
1. 绑定的数据没有及时更新:请检查你的数据是否已经及时更新,如果没有更新,那么vxe-form-item中的元素就不会实时更新。
2. 绑定的数据类型不正确:请检查你绑定的数据类型是否正确。如果绑定的数据类型不正确,那么vxe-form-item中的元素就不会实时更新。
3. vxe-form-item组件的属性设置不正确:请检查你的vxe-form-item组件的属性设置是否正确。如果属性设置不正确,那么vxe-form-item中的元素就不会实时更新。
具体到你的代码中,可能是因为 `getPatientId(item)` 方法中没有及时更新绑定的数据。你可以在该方法中更新 `item.result` 的值,像这样:
```javascript
getPatientId(item) {
item.get_button_loading = true
// 发起请求获取数据
axios.get('/api/getPatientId').then(res => {
item.result = res.data
item.get_button_loading = false
})
}
```
这样当你获取到数据之后,就会及时更新到组件的界面上了。如果以上方法都不能解决你的问题,你可以提供更多的细节信息,以便更好地帮助你解决问题。
阅读全文