javascript - 当我删除项目时,ArrayInput 不会触发 onChange 函数
问题描述
我添加了一个onChange
属性。当我添加一个新元素时它工作得很好,但是如果我删除一个元素,则不会触发该功能。
<ArrayInput
source="names"
label={'Names'}
onChange={updateNames}
>
<SimpleFormIterator
className={classes.iteratorFormItem}
>
<TextInput
label=""
source="value"
validate={maxLength(MAX)}
/>
</SimpleFormIterator>
</ArrayInput>
我不明白为什么onChange
在删除元素时不触发,因为在这种情况下修改了数组。
解决方案
onChange
不是 react-admin's 支持的道具<ArrayInput>
。如果它在用户更新子记录时起作用,那是偶然的。该文档没有提及它(请参阅https://marmelab.com/react-admin/Inputs.html#array-inputs)。
现在,您似乎想在用户更改数据时对其进行处理。为什么不使用该parse
选项呢?(https://marmelab.com/react-admin/Inputs.html#common-input-props)。
推荐阅读
- odoo - Odoo12 域条件与 OR 和 AND 逻辑
- react-native - 如何在 React Native React Navigation 5 中为标题后退按钮的颜色设置动画?
- c++ - 如何在 D3D11 中设置 MSAA?
- javascript - React 不更新 HTML 或状态不同步
- react-native - react-native-modal 使背景平面列表可点击
- javascript - 在 D3 中转换 SVG 行时,会立即出现新行
- javascript - 未在新创建的 div 中复制的数据仅被复制的名称
- java - 静态变量永远不会更新
- spring - 本地化 Spring 麻烦隐藏的地方
- list - 在 List 中创建 List 的第一个元素 - Flutter、Dart