簡體   English   中英

如何觸發設置在變量中的過濾器 function?

[英]How to fire filter function that's set in a variable?

您好,我有一個過濾器 function 設置在變量中,但希望在用戶單擊按鈕后立即執行。 function enableFilter 必須檢查 item.id 是否與 item.category 匹配並觸發過濾器,因為它是真的。 任何人都可以幫助我嗎? 不必一次過濾兩個。 一次只能過濾一個

您可以將過濾條件 ID 存儲在 state 變量中,如下所示:

const [selectedItemId, setSelectedItemId] = useState(null);

然后根據selectedItemId更改您的過濾器案例,例如:

const filteredCases = i18n('casesOverview.cases').filter(category => selectedItemId ? category.category.includes(selectedItemId) : true)

然后使用setSelectedItemId更新按鈕onClick道具,如下所示:

{i18n('casesOverview.categories').map((item, key) => (
              <ButtonOutline
                onClick={() => setSelectedItemId(item.id)}
                id={item.id}
                key={key}>{item.label}</ButtonOutline>
            ))
}
 <GridWideColumn>
     {filteredCases.map((item, key) => (
                <CardBrand
                  key={key}
                  text={item.teaser} href={item.link}
                  image={<Image src="" srcSet={item.coverImage} alt="" />}
                  brandImage={<Image src={item.clientLogo} alt="" />}
                  link={item.link}
                  client={item.client}
                  textInfo={item.category}
                />
      ))
     }

暫無
暫無

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

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