Я визуализирую текстовый файл с помощью функции карты в соответствии с моим массивом. Теперь у меня есть объект, и мне нужно одно за другим установить значение этого объекта в отображаемое текстовое поле. Но я не знаю, как это сделать.

Это моя цель -

const myObject={en: 'This is a good store', fr: "C'est un très bon magasin", ja: 'これは完全に良い店です'};
     {
        locals.map((item, index) => {
           return basicDetails(item, index, myObject);
         })
     }

const basicDetails = (item, index, myObject) => {
    return (
        <Grid>
             <Grid item xs={12}>
                    <CssTextField
                        value={myObject}
                        autoFocus
                        fullWidth
                        variant="outlined"
                        label="Shop Tagline"
                    />
              </Grid>
    );
};

Мне просто нужно установить значение моего объекта одно за другим в текстовое поле. Я пытаюсь сделать это, и мой результат - [объект Object].

enter image description here

0
Zenixo 27 Ноя 2021 в 04:21

1 ответ

Лучший ответ

Вы получаете [object Object], потому что значение, которое вы передаете компоненту CssTextField, является вашим объектом целиком, а не одним из его атрибутов.

Я не уверен, что содержит locals, но предполагаю, что вам нужно изменить это

locals.map((item, index) => {
 return basicDetails(item, index, myObject);
})

К этому, предполагая, что locals - это массив, содержащий такие значения, как ['en', 'fr', 'ja'].

locals.map((item, index) => {
 return basicDetails(item, index, myObject[item]);
})
0
deafening_roar 27 Ноя 2021 в 05:26
Большое спасибо, сэр ...
 – 
Zenixo
27 Ноя 2021 в 05:42