Hack trick,lightning-input-field参照字段值响应式清除失效的方法
场景复原
今天有一个需求是这样的:根据用户选择的查找字段的id值,判断选择的id记录是否符合某种要求,如果不符合,则将这个输入框的内容清除并且提示。当然,这个需求乍一看很容易实现,参照我之前分享的一个经验博文 里面有这个需求的写法。
但是今天测试的时候,发现第一次选择不符合要求的记录的时候,输入框会正常被清除,但是第二次、第三次选择的时候,尽管判定其无效,并且用变量控制,将变量赋值为''
,但是输入框的显示值仍然不会有任何变化。
这不是尴尬了么。。上一篇博文某种意义上无法达到需要的要求了。
排查原因
首先我要确定的是,控制显示值的变量到底在判定前后有没有改变(确认LWC框架确实捕捉到了变量改变的事件)下面是我简化的代码:
<lightning-input-field field-name="LOOK_UP__c" value={lookUpValue} onchange={handleChange}></lightning-input-field>
@track lookUpValue
handleChange(event)