HTML只读输入没有变化第一次属性在IE 11
问题描述:
我更新的输出在其上的onfocus处理程序发生组件的状态改变的只读属性。该代码工作正常,在Chrome和Firefox,但是,IE 11,你必须点击两次,然后开始写东西输入。如何解决它? 我做了我的代码在这里一个例子:https://codesandbox.io/s/94j1j8jnwyHTML只读输入没有变化第一次属性在IE 11
UPD:发现几乎类似的问题here
答
找到了答案,虽然它看起来像一个黑客,这是一个有点脏。 的解决方案是从输入松散焦点,并再次返回。此外,我用ref输入和setTimeout。
handleOnFocus() {
console.log('focused!');
if (this.state.readOnly) {
this.setState({ readOnly: false },() => {
this.input.blur();
setTimeout(() => this.input.focus(), 0);
});
}
}
// ...
<input
...
ref={(input) => { this.input = input; }} />
的完整代码在codesandbox.io