首页 > 解决方案 > 更改值时重新渲染表单中的antd Select组件

问题描述

我在使用表单中的选择禁用 antd 中的选项时遇到问题。

我想让两个 Select 组件使用相同的选项列表,但不能在两者上选择相同的选项。为此,我创建了一个函数 renderSelectItems,它获取在第一个下拉列表中选择的值并在第二个下拉列表中禁用它。此外,第一个选项应该覆盖第二个选项,因此在第一个下拉列表的 onChange 中,如果该值等于第二个,它会将第二个下拉列表的值设置为未定义。

然而,这并没有发生。我认为问题是 renderSelectItems 在选择第一个下拉列表时没有重新渲染。

我已将下拉菜单设置为彼此的依赖关系,并将 shouldUpdate 设置为 true,但两者都没有点击 renderSelectItems 调用来强制执行此禁用。

我已经在代码沙箱中重新创建了这个 - https://codesandbox.io/s/sleepy-wing-nxpxr?file=/src/App.tsx

标签: javascriptreactjstypescriptantd

解决方案


推荐阅读