el-input触发了clear事件,但无法清空
el-input触发了clear事件,但无法清空
·
目录
一、问题
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无法清空。
/*
希望对你有帮助!
如有错误,欢迎指正!
*/
更多推荐
已为社区贡献14条内容
所有评论(0)