#reactjs #react-native #react-native-android #react-native-ios
#reactjs #react-native #react-native-android #react-native-ios
Вопрос:
Я использую средство выбора выпадающего списка react native для отображения списка данных из массива объектов, который выглядит следующим образом
"children":[
{
"name":"Amit",
"id":"08941174-9a39-477f-b900-f3affbb43758",
},
{
"name":"Pranu",
"id":"c86161ed-690a-4de1-8999-c4a832d786be",
},
{
"name":"Testa",
"id":"6642bc82-84f9-4298-8000-37a06df298ac",
}
],
Я написал компонент следующим образом:
{userObject amp;amp;
userObject != '' amp;amp;
userObject != null amp;amp;
userObject != undefined amp;amp;
userObject.length > 1 amp;amp; (
<DropDownPicker
items={[
{
label: userObject.map((name) => {
return name.name;
}),
value: userObject.map((id) => {
return id.id;
}),
},
]}
/>
)}
Но когда я пытаюсь выполнить вышеуказанное, я получаю сообщение об ошибке, поскольку item.label.substr не работает. Однако, когда я консолью, я получаю именно то, что хочу, кто-нибудь, пожалуйста, дайте мне знать, где я ошибаюсь? и что я должен сделать, чтобы получить данные внутри моего средства выбора выпадающего списка?
Любые предложения будут оценены.
Комментарии:
1. является ли DropDownPicker реагирующим собственным компонентом?
2. это так и есть npmjs.com/package/react-native-dropdown-picker этот пакет
Ответ №1:
items props ожидает массив со свойством label и value . вот правильное отображение.
<DropDownPicker
items={
userObject.map((item) => {
return
{
label: item.name,
value: item.id
})
}
/>
Комментарии:
1. но выпадающий список теперь вообще не отвечает при любом нажатии
Ответ №2:
Обновленный ответ
var userObject = [....];
const updatedUserObject = userObject.map(({name: label, id: value})=>({value, label}));
<DropDownPicker
items={updatedUserObject}
.....
/>
Комментарии:
1. когда я вернусь name.name , я уже возвращаю строку при сопоставлении, так что же вы предлагаете мне сделать?