element ui 级联选择器 选择最后一节点关闭下拉框

博客介绍了在Vue应用中使用Element UI的Cascader组件时,如何配置props以确保在选择最后一级节点后自动关闭下拉框。通过设置`checkStrictly`为`true`,并结合`handleChange`方法判断是否为最后一级节点,实现下拉框的自动关闭功能。

官网自带的选择最后一节点不会关闭下拉框的

修改如下:props里一定要加上这个参数 checkStrictly:true

<el-cascader
    ref="cascaders"
    :options="options"
    :props="{ checkStrictly: true }"
     clearable
    @change="handleChange"
>
</el-cascader>


methods:{

    handleChange() {
      const obj = this.$refs["cascaders"].getCheckedNodes();
      // 判断是否是最后一级
      !obj[0].hasChildren&&
      this.$refs.cascaders.toggleDropDownVisible();
    },
}

有不正确的地方,欢迎指出。 

### 配置Element UI级联选择器 为了使Element UI的`el-cascader`组件在选中任意级别的项时能够自动收起菜单,可以采用两种主要策略来达成目标。 #### 使用 `dropDownVisible` 属性控制可见性 通过监听`@change`事件,在检测到值发生变化时手动将下拉列表设为不可见状态。这可以通过访问组件实例并修改其内部属性`dropDownVisible`完成[^2]: ```javascript handleChange() { if (this.$refs.cascaders) { this.$refs.cascaders.dropDownVisible = false; } } ``` 此方法适用于希望完全自定义行为的情况,并且需要确保已经给`<el-cascader>`指定了唯的`ref`名称以便后续调用。 #### 利用内置API切换显示状态 另种更简洁的方式是利用`toggleDropDownVisible()` API函数直接触发下拉框的状态转换。当用户做出选择后立即执行该命令即可让界面迅速响应用户的交互动作: ```javascript handleChange(){ this.$refs.cascaders.toggleDropDownVisible(); } ``` 这种方法不仅简化了代码逻辑,还保持了致性的用户体验设计原则。 除了上述调整外,还需要注意配置其他必要的参数以支持期望的行为模式。例如启用严格的单选模式(`checkStrictly`)以及指定展开触发方式(`expandTrigger='hover'`)等特性可以帮助优化最终效果[^3]。 综上所述,要实现在点击任何节点之后立刻关闭窗的效果,推荐按照以上任方案实施改造,并适当组合使用相关属性增强功能表现。 ```html <!-- HTML结构 --> <el-cascader v-model="selectedValue" :options="optionList" :props="{ checkStrictly: true, expandTrigger: 'hover' }" @change="handleChange" ref="cascaderInstance"> </el-cascader> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值