【发布时间】:2021-01-30 06:36:42
【问题描述】:
<Form
layout="vertical"
size="medium"
className="test-form"
requiredMark={false}
onFinish={onFinish}
>
<Form.Item
name="companyId"
label="Company/Customer"
rules={[{ required: true, message: "Please select Company!"}]}
>
<Select
onChange={this.handleSelectCompanyOnchange}
style={{ width: "50%" }}
name="companyId"
>
{users.map((user, index) => {
return (
<Option key={index} value={user.companyID}>
{user.companyName}
</Option>
);
})}
</Select>
</Form.Item>
<Form.Item
label="Products"
name="products"
rules={[{ required: true, message: "Please select Products!"}]}
>
<Select mode="multiple" allowClear style={{ width: "70%" }}>
{products.map((product, index) => {
if (this.state.companyId == product.companyId) {
return (
<Option key={index} value={product.id}>
{product.productName}
</Option>
);
}
})}
</Select>
</Form.Item>
</Form>
我正在尝试根据 Company Select onChange 选择来实现 Options in Products Select 元素的更改。
我已在 Select 中指定 onChange 并调用 this.handleSelectCompanyOnchange。我在其中选择了 companyId。
在 this.state.companyId 中,我手动设置了 companyId,我将删除它。
我对 ant 设计真的很陌生,一旦选择了公司,我就无法弄清楚如何更新产品列表。
这里,用户和产品是json,如下所示。
users:
[{
companyID: 2
companyName: "TEST1"
},{
companyID: 7
companyName: "TEST2"
}]
products:
[{
companyId: 2
id: 1
productName: "TESTProduct1"
},{
companyId: 7
productName: "TESTProduct2"
id: 2
},{
companyId: 7
id: 3
productName: "TESTProduct3"
},{
companyId: 7
id: 4
productName: "TESTProduct4"
}]
但是,我尝试了 getValueFromEvent 但无法实现这一点。我正在为此使用 Ant 设计表单和选择。我也提到了https://github.com/ant-design/ant-design/issues/4862和how to get field value on change for FormItem in antd
【问题讨论】:
标签: javascript reactjs antd