隐藏列表项,您在 React 中单击的项除外

Posted

技术标签:

【中文标题】隐藏列表项,您在 React 中单击的项除外【英文标题】:Hide list items except the one you click on in React 【发布时间】:2016-12-11 16:23:46 【问题描述】:

我有一个 html 列表作为 React 组件,其中所有列表项都是从我循环的一些数据创建的。

这就是我想在 React 中实现的目标。

    单击列表项之一 隐藏除我单击的项目之外的所有其他列表项目 单击显示的列表项 现在应该显示所有列表项

有什么想法吗?

谢谢

伊恩

【问题讨论】:

嗨伊恩!看来您是 *** 的新手。请阅读How to create a Minimal, Complete, and Verifiable example。这样做会让其他用户更有机会给出您需要的答案。 【参考方案1】:

试试这个:

<div id="app"></app>

然后:

class Application extends React.Component 
  constructor(props)
    super(props);

    this.state = 
      one: "",
      two: "",
      three: "",
      four: "",
      clicked: false
    
  

  handleClick(name, event)
    event.preventDefault();
    if(this.state.clicked)
      this.setState(one: "",two: "", three: "", four: "", clicked: false)
    else
      switch(name)
        case "One":
          this.setState(two: "hide", three: "hide", four: "hide", clicked: true);
          break;
          case "Two":
          this.setState(one: "hide", three: "hide", four: "hide", clicked: true);
          break;
          case "Three":
          this.setState(two: "hide", one: "hide", four: "hide", clicked: true);
          break;
          default:
          this.setState(two: "hide", three: "hide", one: "hide", clicked: true);
      
    
  

  render() 
    return <div>
      <ul>
        <a href="" className=this.state.one onClick=this.handleClick.bind(this, "One")><li >One</li></a>
        <a href="" className=this.state.two onClick=this.handleClick.bind(this, "Two")><li>Two</li></a>
        <a href="" className=this.state.three onClick=this.handleClick.bind(this, "Three")><li>Three</li></a>
        <a href="" className=this.state.four onClick=this.handleClick.bind(this, "Four")><li>Four</li></a>
      </ul>
    </div>;
  



React.render(<Application />, document.getElementById('app'));

【讨论】:

以上是关于隐藏列表项,您在 React 中单击的项除外的主要内容,如果未能解决你的问题,请参考以下文章

Angular 6显示或隐藏列表项

如何在列表视图项中显示和隐藏视图?

滑动另一个元素时第一个索引隐藏项目未隐藏 - 滑动器 FlatList React native

EXCEL表格怎么显示隐藏的行或列

Jquery显示/隐藏根本不适用于移动设备

根据选定的选项卡在 ActionBar 中显示和隐藏项目