reactjs - 如何在reactjs中 "Hide a div by clicking alert box ok button"

标签 reactjs show-hide

  1. 由于我是 react 新手,所以我对隐藏/显示不太了解。
  2. 在我的页面中,我有切换按钮,当我单击该按钮时,会出现一个包含 3 个选项的容器。
  3. 当我点击任一选项时,会出现一个警告框。
  4. 当我单击警报框中的“确定”按钮时,整个容器应该隐藏。
  5. 工作演示:codesandboxdemo
  6. 代码:

 
.App {
  font-family: sans-serif;
  text-align: center;
}
.style1 {
  cursor: pointer;
  padding-top: 10px;
  border-bottom-left-radius: 1px
}
.style1:hover{
  background-color: #D3D3D3;
}
.box{
  background-color:#eeeeee;
  width:20%;
  margin-top:1px;

}
class Foo extends Component {

  state = { showing: false,  };
  handleClick()
  {
    
       alert("hi");
   
  }

  render() {
      const { showing } = this.state;
      return (
          <div>
              <button onClick={() => this.setState({ showing: !showing })}>toggle</button>
              { showing 
                  ? (
                  <div className="box">
                    <div className="style1" onClick={this.handleClick}>Action1</div>
                  <div className="style1" onClick={this.handleClick}>Action2</div>
                  <div className="style1" onClick={this.handleClick}>Action3</div>
                  </div>
                 )
                  : null
              }
          </div>  
      )
  }
}
export default Foo;

最佳答案

最终输出:

enter image description here

以下是如何做到这一点,我使用确认对话框而不是警报,因为它有一个确定取消选项两者兼而有之,所以它会更加用户友好:

import React, { Component } from "react";
import "./styles.css";

class Foo extends Component {
  state = { showing: false };
  handleClick = () => {
    if (window.confirm("Hide Div Emelent")) {
      this.setState({ showing: false });
    }
  };

  render() {
    const { showing } = this.state;
    return (
      <div>
        <button onClick={() => this.setState({ showing: !showing })}>
          toggle
        </button>
        {showing ? (
          <div className="box">
            <div className="style1" onClick={this.handleClick}>
              Action1
            </div>
            <div className="style1" onClick={this.handleClick}>
              Action2
            </div>
            <div className="style1" onClick={this.handleClick}>
              Action3
            </div>
          </div>
        ) : null}
      </div>
    );
  }
}
export default Foo;

工作示例:Codesandbox

关于reactjs - 如何在reactjs中 "Hide a div by clicking alert box ok button",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65488352/

相关文章:

javascript - ReactJS:Axios 的异步请求返回 'undefined'

javascript - jquery如何隐藏单个元素(如果不存在)

javascript - 向上滚动时显示导航

javascript - 如何在 three.js 中隐藏和显示场景中的对象

javascript - 为什么 React 代码可以正常运行而没有任何错误?

javascript - React中如何拦截浏览器导航并提示用户(包括Browser Navigation Away和Tab close)?

reactjs - 无法解析 'os' ,webpack 5

javascript - 彩色交叉区域

javascript - 当输入处于焦点时隐藏标签

html - 基于 Ionic 3 中的第一个 DropDownSelect 显示/隐藏第二个 DropDownSelect