当前位置: 首页 > 知识库问答 >
问题:

使用反冲选择器过滤元件数据?

缪坚诚
2023-03-14

我觉得我已经读了很多例子/文档,看了很多视频,但是我不能用带反冲的选择器。也许我只是今天过得不好,因为我觉得没那么难。

这就是我所处的位置。。。

假设我有这样的数据:

const data = [
  {
    name: "wiggles",
    type: "cat",
    age: "244",
  },
  {
    name: "wobbles",
    type: "dog",
    age: "55",
  },
  {
    name: "flobbles",
    type: "dog",
    age: "98",
  },
];

在我的索引中,我有:

export const typeFilterState = atom({
   key: 'typeFilterState',
   default: '',
});
const UserPage: NextPage<Props> = ({data}) => {

const [typeFilter, setTypeFilter] = useRecoilState(typeFilterState);

return(
<select onChange={(e) => setLeagueFilter(e.target.value)}>
<option value='cat'>Cat</option>
<option value='dog'>Dog</option>
<option value='elephant'>Elephant</option>
</select>

{
  data.map((d) => (
    <DataComponent data={d} />
  ))
}
)};

DataComponent类似于:

const DataComponent: FunctionComponent<Animals> = ({data}) => {
return (
   <Text>{data.name}</Text>
   <Text>{data.type}</Text>
   <Text>{data.age}</Text>
)
};

我希望这样,如果用户选择cat它只显示带有cat的数据,但如果未选择任何内容,也会显示所有数据。。。

共有1个答案

经景辉
2023-03-14

您的

js prettyprint-override">// <select onChange={(e) => setLeagueFilter(e.target.value)}>
<select onChange={(e) => setTypeFilter(e.target.value)}>

在映射为组件之前,只需根据typeFilter值筛选数组:

// data.map((d) => (
//   <DataComponent data={d} />
// ))

data
  .filter(({type}) => {
    // nothing selected yet, keep all:
    if (!typeFilter.trim()) return true;
    // else keep if item.type equals filter:
    return type === typeFilter;
  })
  .map((d) => (
    <DataComponent data={d} />
  ))

 类似资料:
  • 问题内容: 我正在使用创建一个解决方案,而选择应该只包含另一个中不包含的选项。防爆 要通过另一个值进行过滤,我该怎么办? 问题答案: 劳拉(Laura)的上述答案在编写自定义filterOption函数时中断了过滤(如果您不希望Select可过滤,那么可能就可以了)。 一个更简单的解决方案是,对通过的应用仅应用一个简单的过滤器,而不是对第二个“选择”应用。 工作实例

  • 免责声明:我的问题有点类似于这个问题和这个问题,但我已经尝试了这些帖子中建议的所有答案,并且已经花了几天时间来解决这个问题。 我在我现有的应用程序(JSP,仅限Servlet)中引入了Spring Security 3.2.6,并且我正在使用Java配置。我的应用程序将被浏览器和非浏览器客户端使用。我希望所有浏览器对网址的请求(即<代码>/网页/webVersion/和<代码>/网页/webVer

  • 本文向大家介绍jQuery过滤选择器经典应用,包括了jQuery过滤选择器经典应用的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了经典的jQuery过滤选择器应用,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • element 级联选择器,选项是全国行政区划。此时后端返回的是一个二维数组,比如[['浙江省','杭州市','余杭区'],['江苏省','南京市]], 修改级联选择器选项的树型结构的值为 请问这个算法该如何编写?

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • 问题内容: 我有一组项目,我想使用ng-model作为字符串来过滤ng- repeat来过滤集合,到目前为止,我还没有找到一种方法来使表达式被否定时起作用,我做这样的事情: 在文档中,它说我们应该使用!否定表达,但仍然没有运气。 我究竟做错了什么? 问题答案: ‘!’ 字符位于过滤器字符串的前面,如下所示: 过滤器:’!’+ languageOrigin