23

input.focus()酵素でテストするにはどうすればよいですか。私はreactでスクリプトを書いています。私のコードは以下の通りです:

public inputBox: any;

componentDidUpdate = () => {
    setTimeout(() => {
        this.inputBox.focus();
    }, 200);
}

render() {
    return (
        <div>
            <input
                type = 'number'
                ref = {element => this.inputBox = element } />
        </div>
    );
}
4

8 に答える 8

23

mountシャロー代わりにも使えます。document.activeElement次に、入力 DOM ノードが等しいかどうかを比較できます。

const output = mount(<MyFocusingComponent/>);

assert(output.find('input').node === document.activeElement);

詳細については、 https://github.com/airbnb/enzyme/issues/316を参照してください。

于 2016-07-15T19:44:21.313 に答える