0
我更新的輸出在其上的onfocus處理程序發生組件的狀態改變的只讀屬性。該代碼工作正常,在Chrome和Firefox,但是,IE 11,你必須點擊兩次,然後開始寫東西輸入。如何解決它? 我做了我的代碼在這裏一個例子:https://codesandbox.io/s/94j1j8jnwyHTML只讀輸入沒有變化第一次屬性在IE 11
UPD:發現幾乎類似的問題here
我更新的輸出在其上的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