博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React 点击按钮显示div与隐藏div,并给div传children
阅读量:7092 次
发布时间:2019-06-28

本文共 2351 字,大约阅读时间需要 7 分钟。

最近做了一个react的点击按钮显示与隐藏div的一个小组件:

 

【筛选】组件FilterButton

import React,{Component} from 'react';import {render} from 'react-dom';export default class FilterButton extends Component{  constructor(props){      super(props);      this.state = {         clickProps:{             display: 'none',  //控制display的值来隐藏与显示             name:'筛选'         }      }  }  //组件的props发生改变,在组件接收到一个新的prop时被执行。这个方法在初始化render时不会被调用。  componentWillReceiveProps(nextProps) {        if(nextProps.needConfirm) {             this.setState(                  {                     clickProps:{                            display: 'none',                            name:'筛选'                     }                 }             );         }    }/* *  'inline-block' == this.state.clickProps.display   条件:当前的state中display的值是否为 inline-block *   this.setState({clickProps:{display: 'none',name:'筛选'}})  值:  如果是,则隐藏div并在button上显示'筛选' *   this.setState({clickProps:{display: 'inline-block',name:'取消'}});  值:  如果不是,则显示div并在button上显示'取消'*/  changeDisplay() {    'inline-block' == this.state.clickProps.display ? this.setState({clickProps:{display: 'none',name:'筛选'}}) : this.setState({clickProps:{display: 'inline-block',name:'取消'}});  this.props.click(this.state.clickProps.display);  }//this.props.children为这个按钮的子组件  render(){     return(         
{
this.props.children}
); }}

【调用】组件 FilterButton

import React,{Component} from 'react';import {render} from 'react-dom';import Input from 'react-bootstrap/lib/Input.js';import FilterButton from '../../../../public_component/button/FilterButton';export default class InspectionResults extends Component {  constructor(props){      super(props);  } render(){     //使用一个常量,调用FilterButton,并把它的子组件回传     const selectBtn = (         
{department}
{productLine1}
); return(
{selectBtn}
); }}

react.js 传子组件的另一个方法,也可以这样做:

const children = (                        {department}                                                    {productLine1}                                );

 

转载地址:http://dniql.baihongyu.com/

你可能感兴趣的文章
Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
查看>>
Quartz 在 Spring 中如何动态配置时间--转
查看>>
NOIP2003加分二叉树[树 区间DP]
查看>>
Linux功能-环境变量
查看>>
Logback LogBack
查看>>
php排序之快速排序
查看>>
eclipse调试java程序的九个技巧
查看>>
【236】◀▶IEW-Unit01
查看>>
Delphi TScrollBar 用于滚动窗口、组件内容
查看>>
python 安装whl文件
查看>>
直升机的桨
查看>>
.Net 请求Web接口Post和Get方法
查看>>
Andriod DiskLruCache的使用案例
查看>>
unity-------Light的各个参数使用
查看>>
tplink wr886n v5.0 ttl 接线方法
查看>>
MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
查看>>
无法启动此程序因为计算机中丢失 xxx.dll
查看>>
django的hello world 项目
查看>>
深入理解JVM(一)——JVM内存模型
查看>>
Linux 网络管理
查看>>