【发布时间】:2019-01-31 22:17:30
【问题描述】:
我有两个并排的组件,它们是React-Select 下拉列表组件:
<SelectField
options={props.directories}
placeholder="Directory"
onChange={props.onDirectoriesChange}
value={props.directoryCodeName}
isClearable={true}
/>
<SelectField
options={props.subDirectories}
placeholder="Sub Directory"
onChange={props.onSubDirectoryChange}
value={props.subDirectoryCodeName}
isClearable={true}
/>
现在,当我在第一个下拉列表中选择一个值时,第二个下拉列表将根据在第一个下拉列表中选择的内容填充。当我在第二个下拉列表中选择一个选项然后更改第一个下拉列表中的选项时,第二个下拉列表中的选项列表已更改,这很棒。但是,第二个下拉列表的当前值不会被清除。 清除第二个下拉列表值的最佳方法是什么?
首先想到的是在下面的onChange 处理程序中添加一些代码:
const onDirectoriesChangeHandler = (props: WrappedFieldsProps) => (
selectedDirectories: IOption<string>
) => {
props.directoryCodeName.input.onChange(fromJS(selectedDirectories));
};
const onSubDirectoryChangeHandler = (props: WrappedFieldsProps) => (
selectedSubDirectories: IOption<string>
) => {
props.subDirectoryCodeName.input.onChange(fromJS(selectedSubDirectories));
};
但是我已经走到了死胡同,我正在考虑“提升状态”,除非有办法使用 React-Select 的属性来做到这一点?
【问题讨论】:
标签: javascript reactjs typescript react-select