IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符,并且placeholder文字也能显示出来
IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符,并且placeholder文字也能显示出来
<input
onChange={this.onChange}
value={txt}
ref={(ref) => { this.inputEle = ref; }}
/>
onChange(e) {
//最后一个字符延迟一毫秒删除,规避退格键删除所有内容后,光标不回到最左边的问题解决
if(e.target.value.length == 0){
this.setState({
txt: this.state.txt,
});
let that = this;
setTimeout(function(){
that.setState({
txt: '',
});
that.inputEle.focus();
},100);
}else{
this.setState({
txt: e.target.value,
});
}
if (typeof this.props.onChange === 'function') {
this.props.onChange(e);
}
}
13 回答12.6k 阅读
7 回答1.7k 阅读
5 回答1.3k 阅读
3 回答1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
5 回答2.2k 阅读
删除最后一个字符时延迟一毫秒