Kie*_*inn 7 javascript reactjs antd
我有2个<Select>。第二个中的值取决于在第一个上所做的选择。当我在第一个更改所选项目时,第二个更新的可用选项。但是,如果我已经在第二个选项中进行了选择,那么即使根据对第一个选择的更改它不应该可用,该选项也会保持选中状态。
当对第一个选择进行更改时,如何将第二个选择重置为不选择任何内容?
第一选择:
<FormItem {...formTailLayout}>
<FormTitle>Operation</FormTitle>
{getFieldDecorator('Operation', {
rules: [
{
required: true
}
]
})(
<Select
showSearch
placeholder="Select an option"
onChange={this.handleOperationChange}
>
{operations.map(operation => (
<Option value={operation.operation_id}>
{operation.operation_name}
</Option>
))}
</Select>
)}
</FormItem>
Run Code Online (Sandbox Code Playgroud)
第二选择:
<FormItem {...formTailLayout}>
<FormTitle>Metric</FormTitle>
{getFieldDecorator('Metric', {
rules: [
{
required: true
}
]
})(
<Select
showSearch
placeholder="Select an operation first"
onChange={this.handleMetricChange}
>
{matrics
.filter(
metric => metric.operation_fk === operation_fk
)
.map(metric => (
<Option value={metric.metric_name}>
{metric.metric_name}
</Option>
))}
</Select>
)}
</FormItem>
Run Code Online (Sandbox Code Playgroud)
您需要查看ant-design 页面上提到的Coordinated Controls示例。您可以简单地setFieldsValue在第onChange一种方法中使用来设置第二个选择字段的值。
handleOperationChange = () => {
this.props.form.setFieldsValue({
Metric: undefined
})
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个沙箱演示。
| 归档时间: |
|
| 查看次数: |
9949 次 |
| 最近记录: |