При использовании response-admin и я хотел бы использовать FileInput, чтобы разрешить загрузку файла на сервер при отбрасывании / выборе, а затем обновить SimpleForm с возвращенными результатами.
У меня есть загрузка файлаработая и возвращая правильный ответ, мне просто нужно обновить source = "dateMath" в ArrayInput с возвращенным ответом.
export const DateMathCreate = props => (
<Create {...props}>
<SimpleForm>
<TextField source="id" />
<TextInput source="jobName" />
<FileInput options={{onDrop:fileDropped}} source="csvfile" label="Drop CSV File" accept="text/csv">
<FileField source="src" title="title" />
</FileInput>
<ArrayInput source="dateMath" label="Date Math Entries">
<SimpleFormIterator>
<DisabledInput label="ID" source="id" />
<DateInput label="Date" source="date" />
<TextInput label="Trigger ID" source="triggerID" />
</SimpleFormIterator>
</ArrayInput>
</SimpleForm>
</Create>
);
const fileDropped = acceptedFiles => {
console.log("Inside onDrop ");
acceptedFiles.forEach(file => {
console.log("file ", file);
dataProvider(CREATE, 'dateMath/upload', {src: file, title: file.name}).then((response) => {
console.log("response ", response);
if (response.data) {
console.log("Good response ", response.data);
// Here is where is i need to update the form above
this.setState({
dateMath: response.data
});
} else {
console.log("Bad response ");
}
}).catch((e) => {
console.log("e ", e);
});
});
}