IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符

IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符,并且placeholder文字也能显示出来

阅读 8.3k
6 个回答

删除最后一个字符时延迟一毫秒

我用了vue,input[type=search] 计算属性中涉及此input的v-model,在ios下出现这种bug。
解决方法:去掉计算属性就ok了

新手上路,请多包涵

楼主怎么解决的

新手上路,请多包涵
        <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);
    }
  }
推荐问题