У меня есть этот код:
<ReferenceInput label="Tipus" source="type" reference="categories" validate={ required() } >
<AutocompleteInput optionText="name" />
</ReferenceInput>
<FormDataConsumer>
{({formData, ...rest}) => {
console.log(formData)
if ( formData.type !== undefined ) {
var t = formData.type;
var myType = t.toString();
var myOptionText = `${myType}.name`
}
return (
<ReferenceArrayInput label="Categories dynamic" source={myType} reference="categories" {...rest}>
<SelectArrayInput optionText="name" />
</ReferenceArrayInput>
)
}}
</FormDataConsumer>
У меня есть данные API, которые выглядят так:
[
{
"21": [
{
"id": 22,
"name": "Pontgyűjtő",
"old_id": 0,
"parent_id": 21,
"type": 2
},
{
"id": 23,
"name": "Akciós",
"old_id": 1,
"parent_id": 21,
"type": 2
},
{
"id": 24,
"name": "Aranykártya",
"old_id": 2,
"parent_id": 21,
"type": 2
},
{
"id": 25,
"name": "Kedvező tankolás",
"old_id": 3,
"parent_id": 21,
"type": 2
}
],
"id": 21,
"name": "Hitelkártya",
"old_id": null,
"parent_id": null,
"type": null
},
{
"53": [
{
"id": 54,
"name": "Minta alkategória",
"old_id": 0,
"parent_id": 53,
"type": 90
}
],
"id": 53,
"name": "Minta kategória",
"old_id": null,
"parent_id": null,
"type": null
},
{
"id": 55,
"name": "Minta folyószámla kategória",
"old_id": null,
"parent_id": null,
"type": null
}
]
в журнале консоли я вижу formData.type === мой "id", например, 21.
Я хочу получить массив «21» с моим ReferenceArrayInput, чтобы я мог выбирать из всех его подкатегорий.
Я также хочу сохранить его в исходном источнике категорий.
например. когда я использую постоянные значения для моего SelectArrayInput, мой источник - «категории»
const choices = [
{ id: 3, name: "Bla1" },
{ id: 4, name: "Bla2" },
{ id: 5, name: "Bla3" },
{ id: 6, name: "Bla4" },
{ id: 7, name: "Bla5" },
{ id: 8, name: "Bla6" },
{ id: 9, name: "Bla7" },
{ id: 0, name: "Bla8" },
{ id: 1, name: "Bla9" },
];
<SelectArrayInput source="categories" choices={choices} optionText="name" optionValue="id" validate={ required() } allowEmpty={false} />
Таким образом, моя цель - динамически выбирать варианты из конечной точки REST API категорий, выбирать из нее и сохранять ее в моей исходной конечной точке REST API (которая называется «ads») в поле категорий).
Я знаю, что я что-то не так делаю, но даже если бы я сделал это для Google, я не нашел решения. Может быть, вы могли бы помочь мне исправить то, что я делаю неправильно.