小程序搜索获取不到输入框的值,异步导致+解决方案

小程序除了一般的下单填写信息的页面里面需要用到input组件
像搜索、条件查询、点评这些页面也会用到input组件

异常结果:

输入一段英文,不点键盘确认按钮,直接点击搜索,这时候查询出来的结果,就没有获取到输入查询条件

异常原因分析:

本小程序用的Taro框架,原生小程序道理一样
输入框用的是 Input组件,下面按钮是View写的
因为这是新加的需求,一开始没有输入查询这个要求,所以一开始别的同事用的View写的按钮


小程序搜索获取不到输入框的值,异步导致+解决方案_第1张图片
image.png

错误代码示例:


搜索

小程序搜索获取不到输入框的值,异步导致+解决方案_第2张图片
image.png

不管是安卓手机和苹果手机,在输入英文的时候,如1⃣️,如果不点2⃣️处, Input组件的onInput事件是不会触发的,所以我们肉眼看到的这几个字母其实程序是没有记录的,这时候如果直接点击搜索,会触发 onInput事件和搜索事件,但这两个是异步的,可能会发生参数没有获取到就查询,导致结果不正确

正确代码示例:

formSubmit(e){ console.log(e.detail.value.code) //输入框的值 }

通过表单能实时获取到输入的值,就不会出现获取不到值的情况了

你可能感兴趣的:(小程序搜索获取不到输入框的值,异步导致+解决方案)