删除项目时 ArrayInput 不会触发 onChange 函数

ArrayInput doesn't trigger onChange function when I remove item

我添加了一个 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 的 <ArrayInput> 支持的道具。如果它在用户更新子记录时起作用,那是偶然的。文档没有提及它(参见 https://marmelab.com/react-admin/Inputs.html#array-inputs)。

现在,您似乎想在数据被用户更改时对其进行处理。为什么不使用 parse 选项呢? (https://marmelab.com/react-admin/Inputs.html#common-input-props).