单选模式下:
<el-cascader v-model="selectedCateKeys" :options="cateList"
:props="cateProps" @change="handleChange" clearable>
</el-cascader>
export default {
data() {
return {
// 商品分类列表
cateList: [],
// 级联选择框的配置对象
cateProps: {
expandTrigger: 'hover',
value: 'cat_id',
label: 'cat_name',
children: 'children',
},
// 级联选择框双向绑定到的数组
selectedCateKeys: [],
}
}
}
按钮:
<el-button type="primary" size="mini" :disabled="!selectedCateKeys[2]">添加参数</el-button>
// 只要将级联选择器绑定的selectedCateKeys进行判定
// 若selectedCateKeys不存在第三项,说明selectedCateKeys数组没有第三级节点被选中
// 则!selectedCateKeys[2]为true,按钮被禁用
单选模式下有三级节点,仅能选中最后一级,当选中最后一级时按钮启用,否则按钮禁用
选择任意一级模式下:
需求:选择父级节点,按钮禁用;选中第二级节点,按钮禁用;仅有选中第三级节点时,按钮启用
实现:对级联选择器绑定的数组长度进行判断,当选中父级节点时,数组中仅有一项数组元素;
选中第二级节点时,数组中仅有两项数组元素;
选中第三级节点时,数组中有三项数组元素
所以可以对数组长度进行判断
<script>
export default {
//data,methods略
// 定义计算属性
computed: {
// 如果按钮需要被禁用,则返回true,否则返回false
isBtnDisabled() {
if(this.selectedCateKeys.length !== 3) {
return true
}
return false
},
}
</script>
<el-button type="primary" size="mini" :disabled="isBtnDisabled">添加参数</el-button>