zarm icon indicating copy to clipboard operation
zarm copied to clipboard

Input组件在window10的chrome浏览器中用搜狗输入法连续输入中文会无响应

Open edison-hm opened this issue 4 years ago • 3 comments

Description

handleInputChange = (value) => {
  this.setState({
    inputValue: value.trim(),
  });
}
<Input
  clearable
  type="text"
  placeholder="请输入"
  value={this.state.inputValue}
  onChange={this.handleInputChange}
/>

若是对Input组件的onchange事件返回的value进行trim的话,在windows10的chrome浏览器中用搜狗输入法连续输入中文会输入不进去。

Environment

  • zarm version 2.0.0

edison-hm avatar Apr 15 '20 06:04 edison-hm

handleInputChange = (value) => {
  this.setState({
    inputValue: value.trim(),
  });
}

对这个trim() 放在其他位置做会不会更好。我觉得应该不是组件的bug,,如果展示的位置不需要的话,或者向后端传递数据的时候处理掉。 iOS操作系统,如果也是如此使用的话也会造成这样的问题呢 @edison-hm

yaogengzhu avatar Dec 10 '20 01:12 yaogengzhu

@yaogengzhu 通常情况下是应该把trim()放到其他地方做,向我们反馈问题的用户是希望在输入的时候实时给用户做空格截取并做合法性校验。其实我个人也有些矛盾,一方面是对上述交互的不认可,个人是不赞成输入时截取空格的交互,至于做校验的话完全可以传递参数时截取。一方面又因为做的是基础组件库,也希望能覆盖尽量多的场景。所以该issue迟迟没修复,主要是想看下是否有其他用户也会进行类似的反馈。

edison-hm avatar Dec 11 '20 13:12 edison-hm

input取消受控改为ref直接操作dom可以解决

Echonessy avatar Jan 18 '21 11:01 Echonessy