簡體   English   中英

模擬更改不適用於formik的select元素

[英]Simulate change does not work for formik's select elements

我試圖測試一些formik的選擇元素,並且模擬更改不起作用。

而相同的模擬變化適用於formik的輸入元素。

零件:

 <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>

Mount Wrapper:

wrapper = mount(
      <Router history={hist}>
        <ClientsContacts
          clientsData={clientsData}
          languages={languages}
          gender={gender}
          race={race}
          genders_identified={genderIdentified}
          actions={{ getDictionaryApiCall: mockGetDictionaryApiCall, getListApiCall: mockGetListApiCall }}
        />
      </Router>
    )

模擬更改和一些控制台日志以便更好地理解:

console.log(
      wrapper
        // .find('Select')
        .find('input')
        .at(6)
        .debug()
    )

    wrapper
      .find('input')
      .at(6)
      .simulate('change', { target: { value: '122344556644', name: 'clientsData.language1_id' } })

    console.log(
      wrapper
        .find('input')
        .at(6)
        .props()
    )

console.log的屏幕截圖:

屏幕截圖2019-05-29於9 59 59 AM

控制台日志的屏幕截圖上方顯示的值即使在模擬更改后也未更改。

我可以通過直接使用props.onChange來修復它

wrapper
      .find('SelectInput')
      .at(0)
      .props()
      .onChange({ target: { id: 1, value: 'American Sign Language', name: 'clientsData.language1_id' } })
    wrapper.update()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM