Javascript 如何启动过滤功能,即';在变量中设置了什么?

Javascript 如何启动过滤功能,即';在变量中设置了什么?,javascript,html,reactjs,Javascript,Html,Reactjs,您好,我有一个在变量中设置的过滤函数,但希望在用户单击按钮后立即执行。函数enableFilter必须检查item.id是否与item.category匹配,并在为真时启动筛选器。有人能帮我吗?不必一次过滤两个。一次只能有一个筛选器您可以将筛选条件id存储在状态变量中,如下所示: const [selectedItemId, setSelectedItemId] = useState(null); 然后根据选择的编辑emid更改您的过滤器外壳,如: const filteredCases =

您好,我有一个在变量中设置的过滤函数,但希望在用户单击按钮后立即执行。函数enableFilter必须检查item.id是否与item.category匹配,并在为真时启动筛选器。有人能帮我吗?不必一次过滤两个。一次只能有一个筛选器

您可以将筛选条件id存储在状态变量中,如下所示:

const [selectedItemId, setSelectedItemId] = useState(null);
然后根据选择的编辑emid更改您的过滤器外壳,如:

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}
                />
      ))
     }
{i18n('casesOverview.categories').map((项,键)=>(
setSelectedItemId(item.id)}
id={item.id}
key={key}>{item.label}
))
}
{filteredCases.map((项,键)=>(
))
}

您可以将筛选条件id存储在状态变量中,如下所示:

const [selectedItemId, setSelectedItemId] = useState(null);
然后根据选择的编辑emid更改您的过滤器外壳,如:

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}
                />
      ))
     }
{i18n('casesOverview.categories').map((项,键)=>(
setSelectedItemId(item.id)}
id={item.id}
key={key}>{item.label}
))
}
{filteredCases.map((项,键)=>(
))
}

这看起来不像普通的JavaScript,它看起来像一个框架。请添加适当的标记。
enableFilter
是包含标志的函数还是变量?你对这两个都使用相同的名称,这是行不通的。这看起来不像普通的JavaScript,它看起来像一个框架。请添加适当的标记。
enableFilter
是包含标志的函数还是变量?这两个函数的名称都是相同的,这是行不通的。我如何才能在函数之外使用const filteredCases进行映射?你能详细说明一下你想要实现什么吗?是的,我在其中添加了一些代码。我有带id的按钮(类别)。我有分类的案例。现在,当用户单击按钮时,它必须过滤具有匹配类别yEAH的案例,但现在是否不需要启用该功能过滤器?不幸的是,它不起作用。当我记录const filteredCases时。它记录所有的案例,你现在不需要启用过滤器fn。此外,我已经更新了filter函数以正确地过滤案例。如何在函数之外使用const filteredCases进行映射?你能详细说明你想要实现什么吗?是的,我在其中添加了一些代码。我有带id的按钮(类别)。我有分类的案例。现在,当用户单击按钮时,它必须过滤具有匹配类别yEAH的案例,但现在是否不需要启用该功能过滤器?不幸的是,它不起作用。当我记录const filteredCases时。它记录所有的案例,你现在不需要启用过滤器fn。此外,我还更新了过滤功能,以正确过滤案例。