ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.28k stars 1.36k forks source link

👑 [需求]ProFormSelect 怎么进行表单联动? #931

Closed jiyingzhi closed 3 years ago

jiyingzhi commented 3 years ago

🥰 需求描述

有两个 ProFormSelect,选项数据都是从服务器获取的,当第一个 Select 被选中后,拿到选中的结果去获取第二个 Select 的数据,这种情况下有解决方案吗?

jiyingzhi commented 3 years ago

找到了解决方案: image 文档中有个没有列出的参数 params,这个参数会传给 reqeust,最后会传给 swr,swr 如果参数变化了就会重新运行请求函数。不过个人感觉 swr 这个 revalidateOnFocus 特性对于 Select 来说有点不太好,而且没办法关闭

zyhnuaa commented 3 years ago

请问怎么解决的,也有相同的应用场景

chenshuai2144 commented 3 years ago

用renderProps 得方法。

<ProForm>
  <Form.Item noStyle shouldUpdate>
    {(form) => {
      return (
        <ProFormSelect
          options={[
            {
              value: "chapter",
              label: "盖章后生效",
            },
          ]}
          width="md"
          name="useMode"
          label={`与${form.getFieldValue("name")}合同约定生效方式`}
        />
      );
    }}
  </Form.Item>
</ProForm>;