У меня есть приложение реагировать на избыточность, где у меня есть компонент, отображающий кнопку, которая при нажатии открывает модал.
Компонент:
class ModalComp extends Component {
state = {
title: '',
visible: false,
};
onChange = e => {
this.setState({ title: e.target.value });
};
showModal = () => {
this.setState({ visible: true });
};
render() {
const { title } = this.state;
return (
<div>
<Button type="primary" onClick={this.showModal} />
<Modal
visible={this.state.visible}
onOk={this.handleOk}
style={{ top: 53 }}
confirmLoading={confirmLoading}
onCancel={this.handleCancel}
footer={null}
>
<Input
placeholder="Title"
autosize
value={title}
onChange={this.onChange}
/>
</Modal>
</div>
);
}
}
export default ModalComp;
контрольных примеров:
it('allows user to enter text in Title input when the modal is open', () => {
component = mount(<ModalComp />);
const button = component.find(Button);
button.simulate('click');
component.update();
const title = 'newtitle';
const TitleInput = component.find(Input);
TitleInput.simulate('change', { target: { value: title } });
component.update();
expect(TitleInput.props().value).toEqual(title);
});
Я могу правильно найти узлы, но значение остается пустой строкой ""
. Я думаю, что проблема может быть с имитацией события изменения
Так как значение заголовка не обновляется вообще. Нужно ли делать что-то еще? Как я могу обновить текстовое значение DOM?