taro-ui
taro-ui copied to clipboard
AtInput 微信小程序 ios端 快速输入或者删除 会有字符不跟手的情况
微信小程序 ios端 "@tarojs/cli": "3.0.16", "taro-ui": "^3.0.0-alpha.3"
handleChange(value, acc) { this.setState({ [acc]: value, }); return value; } <AtInput name="val" title="val:" type="text" placeholder="请输入" onChange={e => { this.handleChange(e, 'val'); }} value={this.state.val} />
在界面中的字符如果快速输入会有时候输不进去 删除的时候 会有字符删不掉的情况
欢迎提交 Issue~
如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏
如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。
Good luck and happy coding~
是不是,打了字后会被删掉。删掉的时候删除又出现出现?
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
是不是,打了字后会被删掉。删掉的时候删除又出现出现?
@jianguooo
解决办法:使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
猜测原因,render界面花时间太长,比如:更新界面需要500ms,用户输入一个字符需要250ms,250ms时,用户输入了1,此时开始render,500ms后更新完成,此时用户又输入了两个个字符2和3,此时就会把后两次输入的2和3去掉,换成render后的1。如此循环,就会导致不跟手。
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
好的 非常感谢 我去试试
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
好的 非常感谢 我去试试
你解决问题了吗
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
好的 非常感谢 我去试试
你解决问题了吗
解决了,onBlur和onChange配合使用,onChange记录改变后的数据,onBlur时setState
把这个 AtInput 当非受控组件用就可以。用一个全局变量在 onChange 里面记录一下当前数据即可。
把这个 AtInput 当非受控组件用就可以。用一个全局变量在 onChange 里面记录一下当前数据即可。
怎么改为非受控组件呢
是不是,打了字后会被删除掉。删除掉的时候删除又出现出现?
是的,有好的解决办法吗
使用onBlur失去焦点事件,失去焦点时才setState。需要注意:如果界面上有按钮,用户输入完了,直接点击按钮,按钮点击事件会先于输入框的onBlur事件,需要做处理。
好的 非常感谢 我去试试
你解决问题了吗
解决了,onBlur和onChange配合使用,onChange记录改变后的数据,onBlur时setState
可以给一下例子吗,感激不尽