Переключить проверенное состояние для массива переключателей React - PullRequest
0 голосов
/ 24 февраля 2020

Как бы я переключил опору checked для сопоставленного массива предметов?

{Object.values(equipment).map((item, i) => {
    return (              
        <IonItem key={item}>
            <IonLabel>{item}</IonLabel>
            <IonRadio mode="md" slot="start" value={item} checked={false} onClick={} />
        </IonItem>
      );
    })
}

1 Ответ

1 голос
/ 24 февраля 2020

Я не проверял этот код, но это был бы общий подход к нему.

Использование реагирования useState в функциональном компоненте может работать для вас.

// Import useState
import { useState } from 'react';

// Set your active and SetActive items
const [active, setActive] = useState({});

{Object.values(equipment).map((item, i) => {
    return (
        <IonItem key={item}>
            <IonLabel>{item}</IonLabel>
            <IonRadio mode="md" slot="start" value={item} checked={active.i || false} onClick={() => {
                // Set the specific Item to active
                setActive({i:!active.i});
            }} />
        </IonItem>
    );
})}
...