如何在Reacatjs中打开和关闭搜索栏?

发布于 2025-02-12 18:03:53 字数 568 浏览 0 评论 0原文

我需要在ReactJ中打开一个非常简单的搜索栏,并且没有关闭按钮,因为我想单击同一按钮将其关闭。

这是我尝试过的一些代码,但没有起作用。

  const [searchIsOpen, setSearchIsOpen] = useState(false);
  const search = () => {
    if (searchIsOpen) {
      setSearchIsOpen(true);
    } else {
      setSearchIsOpen(false);
    }
  };

<button onClick={search}
        className="absolute md:left-8 left-3 lg:left-2 top-6 md:top-8 cursor-pointer"> 
 </button>

这个元素应该打开。

    <div>
  <input type="text" name="" id="" />
  </div>

谢谢。

I need to open a very simple search bar in reactjs, and there is no closing button because I want to click on the same button to close it.

Here is some code I tried out but didn't work.

  const [searchIsOpen, setSearchIsOpen] = useState(false);
  const search = () => {
    if (searchIsOpen) {
      setSearchIsOpen(true);
    } else {
      setSearchIsOpen(false);
    }
  };

<button onClick={search}
        className="absolute md:left-8 left-3 lg:left-2 top-6 md:top-8 cursor-pointer"> 
 </button>

And this element should open.

    <div>
  <input type="text" name="" id="" />
  </div>

thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

诗酒趁年少 2025-02-19 18:03:53

您应该使用条件渲染。

const [searchIsOpen, setSearchIsOpen] = useState(false);
const search = () => {
  setSearchIsOpen(!searchIsOpen);
};





<button onClick={search} className="absolute md:left-8 left-3 lg:left-2 top-6 md:top-8 cursor-pointer"></button>
{
  searchIsOpen && <div>
    <input type="text" name="" id="" />
  </div>
}

You should use conditional rendering.

const [searchIsOpen, setSearchIsOpen] = useState(false);
const search = () => {
  setSearchIsOpen(!searchIsOpen);
};





<button onClick={search} className="absolute md:left-8 left-3 lg:left-2 top-6 md:top-8 cursor-pointer"></button>
{
  searchIsOpen && <div>
    <input type="text" name="" id="" />
  </div>
}
暗恋未遂 2025-02-19 18:03:53
<div>
  { searchIsOpen && <input type="text" name="" id="" /> }
</div>
<div>
  { searchIsOpen && <input type="text" name="" id="" /> }
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文