El siguiente código provisto enlos documentos de React-Admin me permite elegir un registro e ingresar solo UN campo en la base de datos:
const choices = [ { id: 123, first_name: 'Leo', last_name: 'Tolstoi' }, { id: 456, first_name: 'Jane', last_name: 'Austen' }, ]; const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`; <AutocompleteInput source="author_id" choices={choices} optionText={optionRenderer} optionValue = "first_name" />Entonces, en este caso, se insertaría un campo llamado "first_name" en la tabla de mi base de datos.
¿Hay alguna manera de ingresar los tres campos como entrada? Por ejemplo, me gustaría 3 campos separados
id: 456, first_name: 'Jane', last_name: 'Austen'para ser insertado en la base de datos (no como un diccionario de 3 campos sino 3 campos independientes).
<AutocompleteInput> permite seleccionar un registro existente relacionado con el actual (por ejemplo, elegir el autor de una publicación).
Entiendo que desea crear un nuevo registro en su lugar. Puede hacerlo a través de onCreate prop, como se explica en el documento :
import { AutocompleteInput, Create, SimpleForm, TextInput } from 'react-admin'; const PostCreate = () => { const categories = [ { name: 'Tech', id: 'tech' }, { name: 'Lifestyle', id: 'lifestyle' }, ]; return ( <Create> <SimpleForm> <TextInput source="title" /> <AutocompleteInput onCreate={(filter) => { const newCategoryName = window.prompt('Enter a new category', filter); const newCategory = { id: categories.length + 1, name: newCategoryName }; categories.push(newCategory); return newCategory; }} source="category" choices={categories} /> </SimpleForm> </Create> ); }