<el-dialog :title="dialogTitle" :visible.sync="addOrEditDialogVisible" width="30%" center @close="oncancel"> <el-form :rules="dialogRule" ref="dialogFormRef" :model="dialogForm"> <el-form-item label="组织名称" prop="organizeName"> <el-input v-model="dialogForm.organizeName"></el-input> </el-form-item> <el-form-item label="层级标签" prop="organizeLevelList"> <el-radio-group v-model="dialogForm.organizeLevelList" size="mini"> <el-radio v-for="i in organizeLevelList " :key="i.levelId" :label="i.levelId" @change="handleRadio" border>{{ i.levelName }}</el-radio> </el-radio-group> </el-form-item> </el-form> <span class="dialog-footer"> <el-button type="primary" @click="handleMakeSure" size="mini">提交</el-button> </span> </el-dialog> organizeLevelList:[{1},{2},{3},{4}] 如果organizeLevelList 为4,则1,2,3的el-radio 为禁用disabled,为3,时,1,2禁用,为2时,1禁用怎么实现
时间: 2024-03-26 18:42:04 浏览: 91
你可以在 el-radio 上添加 :disabled 属性,并根据组织层级列表的值来动态绑定这个属性。具体实现可以在组件中加入一个 computed 属性,根据 organizeLevelList 的值返回一个对象,对象的属性名对应着 el-radio 的 label,属性值为布尔值,表示该选项是否应该被禁用。然后在 el-radio 中绑定 :disabled 属性为这个对象对应的属性值即可。以下是示例代码:
```
<el-radio-group v-model="dialogForm.organizeLevelList" size="mini">
<el-radio v-for="i in organizeLevelList " :key="i.levelId" :label="i.levelId" :disabled="disabledOptions[i.levelId]" @change="handleRadio" border>{{ i.levelName }}</el-radio>
</el-radio-group>
computed: {
disabledOptions() {
const maxLevel = this.organizeLevelList;
const disabledOptions = {};
for (let i = 1; i < maxLevel; i++) {
disabledOptions[i] = i < maxLevel - 1;
}
return disabledOptions;
}
}
```
阅读全文