document.querySelector CHANGE事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了document.querySelector CHANGE事件?相关的知识,希望对你有一定的参考价值。
是否可以使用Modal中的document.querySelector测试onChange事件
使用jest和酶进行反应js文件
<Modal isOpen={this.state.quickFilterModalOpen} style={descriptionModalStyle}>
<div>
<div className='fullmodal'>
<div id='close-modal' className='sidemodal_addnew_x' onClick={this.closeModal}>
<FontAwesome name='xbutton' className='fa-times' />
</div>
</div>
<div className='advanced-search-modal-body'>
<div className='advanced-search-modal-inner'>
<label>First Name</label>
<input id='first-name-filter'onChange={(e) => {this.setState({advancedFilter: {...this.state.advancedFilter, FirstName: e.target.value}})}} value={this.state.advancedFilter.FirstName}/>
这是我迄今为止使用点击事件完成的测试文件,但没有使用Onchange尝试获取以下onChange事件以通过
it('Test click event on Modal : Save Button', () => {
baseProps.onClick.mockClear();
ReactModal.setAppElement('body');
wrapper = mount(
<ReactModal isOpen>
<div className="fullmodal">
some content
</div>
</ReactModal>,
{attachTo: mountingDiv}
);
wrapper.setState({
quickFilterModalOpen:true,
advancedFilter:'test'
})
wrapper.update()
expect(wrapper.find('.fullmodal').exists()).toEqual(false);
expect(!!document.body.querySelector('.fullmodal')).toEqual(true);
document.querySelector("#first-name-filter").change(); //wrong
答案
你可以使用enzyme's simulate()
wrapper.find('.fullmodal').simulate('change', { ...optionalMockEventDataToPass });
以上是关于document.querySelector CHANGE事件?的主要内容,如果未能解决你的问题,请参考以下文章
document.querySelector()和document.querySelectorAll()
如何将条件反应与 document.querySelector 关联?
Document.querySelector() 未显示所有元素