目录

一、问题

二、原因

三、解决方法

四、总结


一、问题

1.el-input输入框加了:clearable=“true",有删除按钮,但 点击按钮时无法删除。

2.经检查调用了clear事件,但输入框中填写的东西依然无法删除。

3.代码如下

 <el-input
                :value="item.value"
                @input="handleInputCount($event, item)"
                :min="item.min || 10"
                :clearable="true"
                :max="item.max || 999"
                style="width: 100%"
                :placeholder="item.placeholder"
              >
</el-input>
    handleInputCount(e, item) {
        if(item.count){
            if (parseInt(e) != 0) {
                  item.value = e;
            }
        }
}

二、原因

1.@input事件中添加的判断条件,导致value永远不能为空,clear事件也不生效

2. handleInputCount中本来只是不想让 让输入为0,所以添加了判断 parseInt(e)!=0,

  但是忽略了类型转换后 ,undefied和""都会让判断成立,clear事件赋值为""时,因为这个判断的存在,无法赋值,item还是之前输入的值,所以无法清除。

三、解决方法

1.使用 !==判断是否相等

    handleInputCount(e, item) {
        if(item.count){
            if (parseInt(e) !== 0) {
                  item.value = e;
            }
        }
}

修改后可以正常删除

四、总结

1.检查是否添加clearable属性

2.检查input 事件是否有判断 导致 el-input无法清空。

/*

希望对你有帮助!

如有错误,欢迎指正!

*/

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐