首页 > 解决方案 > 当我删除项目时,ArrayInput 不会触发 onChange 函数

问题描述

我添加了一个onChange属性。当我添加一个新元素时它工作得很好,但是如果我删除一个元素,则不会触发该功能。

<ArrayInput
   source="names"
   label={'Names'}
   onChange={updateNames}
   >
   <SimpleFormIterator   
      className={classes.iteratorFormItem}
      >
      <TextInput
         label=""
         source="value"
         validate={maxLength(MAX)}
         />
   </SimpleFormIterator>
</ArrayInput>

我不明白为什么onChange在删除元素时不触发,因为在这种情况下修改了数组。

标签: javascriptreactjsreact-admin

解决方案


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)。


推荐阅读