Javascript 模拟更改不适用于formik';让我们选择元素
我试图测试一些formik的select元素,并模拟更改不起作用 而同样的模拟变化对formik的输入元素也适用 组件:Javascript 模拟更改不适用于formik';让我们选择元素,javascript,reactjs,jestjs,enzyme,formik,Javascript,Reactjs,Jestjs,Enzyme,Formik,我试图测试一些formik的select元素,并模拟更改不起作用 而同样的模拟变化对formik的输入元素也适用 组件: <Field type="text" name={'clientsData.language1_id'} className={this.props.classes.textField} lab
<Field
type="text"
name={'clientsData.language1_id'}
className={this.props.classes.textField}
label="Primary Language"
select
margin="normal"
variant="outlined"
component={TextField}
InputLabelProps={{
shrink: true
}}>
}}>
{this.props.languages.map(val => (
<MenuItem key={val.id} value={val.id}>
{val.value}
</MenuItem>
))}
</Field>
wrapper = mount(
<Router history={hist}>
<ClientsContacts
clientsData={clientsData}
languages={languages}
gender={gender}
race={race}
genders_identified={genderIdentified}
actions={{ getDictionaryApiCall: mockGetDictionaryApiCall, getListApiCall: mockGetListApiCall }}
/>
</Router>
)
控制台屏幕截图。日志:
<Field
type="text"
name={'clientsData.language1_id'}
className={this.props.classes.textField}
label="Primary Language"
select
margin="normal"
variant="outlined"
component={TextField}
InputLabelProps={{
shrink: true
}}>
}}>
{this.props.languages.map(val => (
<MenuItem key={val.id} value={val.id}>
{val.value}
</MenuItem>
))}
</Field>
wrapper = mount(
<Router history={hist}>
<ClientsContacts
clientsData={clientsData}
languages={languages}
gender={gender}
race={race}
genders_identified={genderIdentified}
actions={{ getDictionaryApiCall: mockGetDictionaryApiCall, getListApiCall: mockGetListApiCall }}
/>
</Router>
)
上面控制台日志的屏幕截图显示,即使在模拟更改之后,值也没有更改。我可以直接使用props.onChange来修复它
wrapper
.find('SelectInput')
.at(0)
.props()
.onChange({ target: { id: 1, value: 'American Sign Language', name: 'clientsData.language1_id' } })
wrapper.update()