如何告诉
我正在使用React.js和TypeScript。我还在Formik
中使用react-select
组件。我的问题是我想通过点击按钮重置一些特定的选择组件。我这里有两个问题:
Select
是not multi
时,props.handleReset
似乎不起作用。如何将if用于单选
props.handleReset
只重置特定字段这是我的代码的一部分:
<Select
className="react-select"
isMulti={false}
closeMenuOnSelect={false}
options={this.props.selectOptions.faculties}
placeholder={T.t('gen_select_faculty')}
value={this.props.selectOptions.faculties.find((f) => f.value === props.values.faculty_id)}
onChange={(option: any) => {
props.setFieldValue('faculty_id', option.value);
props.setFieldValue('faculty', option);
}}
noOptionsMessage={(): string => T.t('gen_select_no_faculty')}
/>
<button
type="button"
data-dismiss="modal"
onClick={props.handleReset}
aria-label="alert-success"
>
RESET
</button>
好的,这就是解决方案:
1。要通过props.handleReset
处理单个Select
元素,您需要为value
包括isClearable={true}
和null
选项,如下例:
`
<Select
className="react-select"
isMulti={false}
isClearable={true}
closeMenuOnSelect={false}
options={this.props.selectOptions.faculties}
value={props.values.faculties || null}
onChange={(option: any) => {
props.setFieldValue('faculty_id', option.value);
props.setFieldValue('faculty', option);
}}
/>