如何制作一个 React 下拉菜单来呈现用户点击的数组并显示“这里没有找到!”如果数组为空?

Posted

技术标签:

【中文标题】如何制作一个 React 下拉菜单来呈现用户点击的数组并显示“这里没有找到!”如果数组为空?【英文标题】:How to make a React dropdown to render the array the user clicks on AND show "nothing found here!" if array is empty? 【发布时间】:2022-01-12 17:45:12 【问题描述】:

我正在尝试找出一种更好的方法来呈现此下拉列表的对象数组。 我目前可以正确查看所有数组,但是,例如,如果捕获或释放的数组为空,我会得到一个空屏幕。我尝试设置三元运算符,例如“value === capturePkm && capturePkm === '' ?这里没有找到:cappedPkm.map() 但我需要另一个:显示'released'或'all',这就是不是三元运算符的工作方式。如果数组为空,我怎样才能在此处显示 Nothing to be found 并在用户单击它时显示另一个组件?我希望我说得足够清楚。如果没有,请告诉我所以!

import React,  useState  from "react";
import PokemonCard from "./PokemonCard";

const Dropdown = (
  pokemons,
  capturedPkm,
  releasedPkm,
  setCapturedPkm,
  setReleasedPkm,
) => 
  const [value, setValue] = useState([pokemons]);
  const handleChange = (e) => setValue(e.target.value);
  return (
    <div className="select">
      <select name=JSON.stringify(value) onChange=handleChange>
        <option value=JSON.stringify(pokemons)>All</option>
        <option value=JSON.stringify(capturedPkm)>Captured</option>
        <option value=JSON.stringify(releasedPkm)>Released</option>
      </select>
      <div
        style=
          display: "flex",
          flexWrap: "wrap",
          justifyContent: "space-evenly",
        
      >
        value === JSON.stringify(capturedPkm)
          ? capturedPkm.map((el, i) => 
              return (
                <div>
                  <img src=el.img alt="pokemon" />
                  el.name
                </div>
              );
            )
          : value === JSON.stringify(releasedPkm)
          ? releasedPkm.map((el, i) => 
              return <div>el.name</div>;
            )
          : pokemons.map((pokemon, index) => 
              return (
                <div style= width: "235px"  key=index>
                  <PokemonCard
                    pokemon=pokemon
                    index=index
                    name=pokemon.name
                    capturedPkm=capturedPkm
                    setCapturedPkm=setCapturedPkm
                    notCapturedPkm=releasedPkm
                    setNotCapturedPkm=setReleasedPkm
                  />
                </div>
              );
            )
      </div>
    </div>
  );
;

export default Dropdown;

【问题讨论】:

【参考方案1】:

以防万一这对任何人都有用,我刚刚添加了一个新条件以防空数组,它可以完美运行。我将使用编辑和重构的代码上传我自己的问题 (LOL)。

【讨论】:

请不要编辑您的问题以反映您的答案!如果需要,请发布您对自己问题的答案,但不要编辑显示答案的问题。 好吗?我只是觉得它可能有用!谢谢! 是的,它肯定很有用。我们只是不希望更新问题以(也)反映答案。问题应该是(仅)一个问题,不包括答案。您可以发布自己问题的答案。你可以用“编辑和重构的代码”来做到这一点 非常感谢您的解释,这绝对是有道理的!

以上是关于如何制作一个 React 下拉菜单来呈现用户点击的数组并显示“这里没有找到!”如果数组为空?的主要内容,如果未能解决你的问题,请参考以下文章

如何呈现下拉菜单?

只用CSS能否制作可以收缩的下拉菜单

excel2007为日期制作下拉菜单的方法步骤

网页中的下拉菜单怎样制作

在EXCEL如何制作树形结构的下拉菜单进行输入到单元格

如何在外部点击时关闭下拉菜单?