簡體   English   中英

React JS 切換所選項目

[英]React JS Toggle Selected Item

我在我的組件中使用了反應鈎子 state。 用戶可以使用 select 的選項列表。 我需要跟蹤選擇了哪些選項 - 請參閱 state 中的“selectedArr”。

雖然這部分有效,但過濾 selectedArr 是錯誤的,如果我 select 首先是選項中的第二項,則不會過濾? 我不明白為什么。

如何跟蹤選擇了哪些選項並切換單個選項?

這是我的代碼

const BarGraph = ({graphData, daysRange}) => {
const [optionsIndex, setOptionsIndex] = useState(0);
const [selectedArr, setSelectedArr] = useState([]);


const toggleActiveItem = (index) => {
    //Update the option index 
    setOptionsIndex(index);

    //Update selected options array
    setSelectedArr([...selectedArr, index]) 

    if(index === selectedArr[index]) {
        //Prevent from adding multiple of the same index
        setSelectedArr([...selectedArr])

        //if index is equal to the selected array index 
        //removed the matched index from selected array
        setSelectedArr(selectedArr.filter((i) => i !== index)); 
    }

}
const toggleActiveItem = (index) => {
    
    if(selectedArr.includes(index)){
      setSelectedArr(selectedArr.filter((i) => i !== index)) 
    } else {
     setSelectedArr([...selectedArr, index]) 
    }

    setOptionsIndex(index)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM