javascript - 更改值时重新渲染表单中的antd Select组件
问题描述
我在使用表单中的选择禁用 antd 中的选项时遇到问题。
我想让两个 Select 组件使用相同的选项列表,但不能在两者上选择相同的选项。为此,我创建了一个函数 renderSelectItems,它获取在第一个下拉列表中选择的值并在第二个下拉列表中禁用它。此外,第一个选项应该覆盖第二个选项,因此在第一个下拉列表的 onChange 中,如果该值等于第二个,它会将第二个下拉列表的值设置为未定义。
然而,这并没有发生。我认为问题是 renderSelectItems 在选择第一个下拉列表时没有重新渲染。
我已将下拉菜单设置为彼此的依赖关系,并将 shouldUpdate 设置为 true,但两者都没有点击 renderSelectItems 调用来强制执行此禁用。
我已经在代码沙箱中重新创建了这个 - https://codesandbox.io/s/sleepy-wing-nxpxr?file=/src/App.tsx
解决方案
推荐阅读
- kotlin - 为什么当我在循环中的 lambda 中有返回时 kotlin 无法编译
- django - 如何使用 django get_or_create() 应用(冲突时什么都不做)
- c# - 我的 Visual Studio 项目正在删除和编辑数据库中的项目 OK,但是在点击保存时它不会添加记录
- arrays - 集合到数组然后到范围
- c# - WinForms - 如何将具有透明度的某个大小的图像覆盖在另一个不同大小的图像上?
- arrays - 在控制台中获得基础结果后,如何将它们放入结构中?
- html - Opera中的CSS背景SVG动画奇怪行为
- javascript - 如何从 React 中的 JSON 文件生成具有每个值的组件?
- reactjs - Webpack-Electron-React:ModuleConcatenation 救助错误
- laravel - 如果打开标签和输入标签不在同一个 div 中,laravel-jsvalidation dosent 工作