сопоставить массив с индексными ключами, чтобы вернуть список элементов реагировать JS - PullRequest
0 голосов
/ 29 января 2020

У меня есть массив, который я хотел бы отобразить и включить в радио-флажки.

В настоящее время я могу получить только один элемент массива для возврата, набрав, например: <IonLabel>{item[1]}</IonLabel>

Как бы я мог получить их всех в списке?

Массив 'оборудования'

{0: "Camera", 1: "Wide Angle Lens (16mm equivalent)", 2: "Tripod", 3: "Drone"}

0: "Camera"
1: "Wide Angle Lens (16mm equivalent)"
2: "Tripod"
3: "Drone"

Текущий код

{equipment.map((item, i) => {
          return (
        <IonItem key={i}>
         <IonLabel>{item}</IonLabel>
         <IonRadio slot="start" value="biff"/>
        </IonItem>

          );
        })}

Ответы [ 2 ]

2 голосов
/ 29 января 2020

Похоже, вы используете не Массив, а Объект с числами в качестве ключей.

Попробуйте это:

{
  Object.values(equipment).map((item, i) => (
     <IonItem key={i}>
       <IonLabel>{item}</IonLabel>
       <IonRadio slot="start" value="biff"/>
     </IonItem>
   )
  );
}

Другое решение может заключаться в переписывании вашего equipment в выглядеть так:

const equipment = ["Camera", "Wide Angle Lens (16mm equivalent)", "Tripod", "Drone"] В этом случае вы можете использовать предыдущую реализацию.

0 голосов
/ 29 января 2020

Здесь у вас есть не массив, а объект.

Вы можете хранить данные в массиве следующим образом:

['Camera', 'Wide Angle Lens (16mm equivalent)', 'Tripod', 'Drone']

Теперь вы можете перебирать их, используя карту, как вы делали в вашем примере.

...