ant design vue select 组件 allowClear 不起作用

本文探讨了在Vue项目中遇到的问题:当为TreeSelect组件设置`allowClear`和`value`属性时,allowClear的清除功能无法正常工作。原因是这两个属性不兼容。解决方法是在`handleChange`方法中监听value的变化,当值为空时,将`courseId`设为null。通过这种方法,可以在保持value属性的同时启用allowClear的清除功能。
摘要由CSDN通过智能技术生成

借鉴 https://blog.csdn.net/agua001/article/details/115631745 这篇博文下的评论。

allowClear 不起作用的原因为 select 组件中 value 属性和 allowClear 属性不可以同时使用。
如果一定要同时使用可以检测 value 的变化

<a-tree-select :value="courseId"
                 allowClear
                 @change="handleChange">

其他属性省略,只看这几个关键的,在下面实现 handleChange 方法。

handleChange(value) {
      if (isEmpty(value)) {                          //判空 这里是一个 lodash 用法,不一定非要这样写,进行判空操作就行
        this.$emit('update:courseId', null)         //赋值为 null,这里是赋值操作,因为我这个是父组件传过来的属性,所以要这样写
      }
    },

核心思想:值变化的时候给一个判断,变化的值是空的时候(也就是点击了 allowClear 的 “x”),重新赋值为 null。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值