级联选择器选中叶子节点,对应按钮启用;叶子节点未选中,对应按钮禁用

单选模式下:

<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>

猜你喜欢

转载自blog.csdn.net/Svik_zy/article/details/122178348
今日推荐