Я тестировал те же обратные вызовы с TextInput
, и они работают. Когда я добавляю их в ArrayInput
, кажется, что они не называются (я тоже попробовал это на дочерних компонентах, но безуспешно).
В этой песочнице кода отредактируйте элемент, чтобы увидеть репродукцию. Нет лога консоли или добавляемого строкового значения: https://codesandbox.io/embed/044vnovwmp
Это код из песочницы:
class PostEdit extends React.Component {
dateFormatter = value => {
console.log("DEBUG :: dateFormatter:", value);
return value + " FOO!";
};
dateParser = value => {
console.log("DEBUG :: dateParser:", value);
return value;
};
render() {
return (
<Edit {...this.props}>
<SimpleForm>
<TextField source="id" />
<TextField source="title" />
<ArrayInput
source="backlinks"
format={this.dateFormatter}
parse={this.dateParser}
>
<SimpleFormIterator>
<TextInput source="date" />
<TextInput source="url" />
</SimpleFormIterator>
</ArrayInput>
</SimpleForm>
</Edit>
);
}
}
Я что-то не так делаю?