>source

목록에서 항목이 선택되지 않았지만 표시된 세 항목을 모두 선택하고 싶습니다. 목록에서 선택한 항목을 어떻게 표시 할 수 있습니까 =?

const List = [
    {
        options: [{ opt: 'a', oid: '1' }, { opt: 'b', oid: '2' }, { opt: 'c', oid: '3' }, { opt: 'd', oid: '4' },
        ],
        marked: [1, 2, 3],
    }
]
const [index, setIndex] = useState(0);
const qstn = List[index];
{qstn.options.map((x, id) =>
                            <Option
                                value={x.opt}
                                selected={qstn.marked === id} // here i am selecting items from marked
                                key={id}
                            />
                        )}
export function Option({ value, selected }) {
    return (
        <TouchableWithoutFeedback>
            <View style={styles.option}>
                <View style={{ flex: 8, backgroundColor:selected? '#b8de6f' : '#fff' }}>
                    <Text style={{ fontSize: 15, fontFamily: 'OpenSans-Regular', }}>{value}</Text>
                </View>
            </View>
        </TouchableWithoutFeedback>
    )
}

  • 답변 # 1

    selected={qstn.marked === id} 나는 당신이 여기서 실수하고 있다고 생각합니다.신분증숫자이고qstn.marked배열. 해당 ID가 배열에 있는지 감지하려면이 줄을 다음과 같이 변경하십시오. qstn.marked.indexOf(id) !== -1 .

관련 자료

  • 이전 python - Django 31 settingspy에서 템플릿 매핑을 해결하는 방법
  • 다음 javascript - wswrite = (resultjoin ( ',') + '\ n');&&typeerror - resultjoin은 함수가 아닙니다…이 유형 오류를 해결하는 방법