el-input 中disabled 根据该行row 值判断
时间: 2024-09-24 08:16:00 浏览: 50
在 Element UI 的 `el-input` 组件中,如果你想根据某一行(`row`)的数据状态来控制输入框(`input`)是否禁用(`disabled`),你可以通过模板绑定(v-bind 或者 :)和 Vue 的计算属性(computed property)来实现。假设你的数据结构如下:
```javascript
data() {
return {
inputList: [{ id: 1, content: '默认输入', isDisabled: false }, ...], // 每个对象都有 isDisabled 属性
selectedRow: null, // 当前选中的行
};
},
methods: {
handleSelect(row) { // 用户选择某一行时触发此方法
this.selectedRow = row;
},
}
```
然后,在你的模板里,你可以这样使用:
```html
<template>
<el-input
v-for="(item, index) in inputList"
:key="index"
:id="item.id"
v-bind:disabled="item.isDisabled || item === selectedRow && selectedRow?.isDisabled"
:value="item.content"
></el-input>
</template>
<script>
// ...
</script>
```
当 `selectedRow` 有值并且它的 `isDisabled` 也设为 true 时,相应的输入框会被禁用。如果 `selectedRow` 为空或者 `isDisabled` 为 false,则不会禁用。
阅读全文