当前位置:网站首页>组件通信--下拉菜单案例
组件通信--下拉菜单案例
2022-08-03 16:22:00 【是张鱼小丸子鸭】
如下所示,我们拆分两个组件,我们点击list组件中的数据,填充到输入框中,默认list数据隐藏
app.js文件
拆分两个组件,并分别引入两个组件
import React, { Component } from 'react';
import './App.css';
import Inp from './component/Inp';
import List from './component/List.js';
export default class App extends Component {
constructor(){
super()
this.state={
list: ['12k-15k', '15k-18k', '18k-22k', '22k-15k', '25k以上'],
val: "",
flag: false
}
}
changeFlag = () => {
this.setState({
flag: !this.state.flag,
})
}
setVal = (value) => {
this.setState({
val: value,
})
this.changeFlag();
}
render() {
let { list, val, flag } = this.state;
return (
<div className='app'>
<Inp val={val} changeFlag={this.changeFlag}></Inp>
<List list={list} setVal={this.setVal} flag={flag}></List>
</div>
)
}
}
inp组件
inp框拆分到到子组件后,需要传递val值,【父传子】
传递点击文本框切换列表显示的函数【子传父】
import React from 'react'
export default function Inp(props) {
return (
<div>
<input placeholder='你的期望薪资是多少' onClick={props.changeFlag} value={props.val} readOnly />
</div>
)
}
list组件
flag的值传递,控制显示隐藏 【父传子】
list数据渲染列表数据 【父传子】
点击切换列表显示事件的传递 【子传父】
import React from 'react'
export default function List(props) {
let {list,flag}=props
return (
<div>
{
flag ?
(
<ul className='ul'>
{
list.map((item, index) => {
return (
<li onClick={() => props.setVal(item)} key={index}>{item}</li>
)
})
}
</ul>
)
:
<></>
}
</div>
)
}
边栏推荐
- How to start an NFT collection
- Hannah荣获第六季完美童模全球总决赛全球人气总冠军
- C专家编程 第1章 C:穿越时空的迷雾 1.10 “安静的改变”究竟有多少安静
- How to analyze the weekly activity rate?
- 2年开发经验去面试,吊打面试官,即将面试的程序员这些笔记建议复习
- C专家编程 第3章 分析C语言的声明 3.2 声明是如何形成的
- Leetcode76. 最小覆盖子串
- vector类
- spark入门学习-1
- [QT] Qt project demo: data is displayed on the ui interface, double-click the mouse to display specific information in a pop-up window
猜你喜欢
随机推荐
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
C专家编程 第1章 C:穿越时空的迷雾 1.6 它很棒,但它符合标准吗
Selective Search学习笔记
leetcode:187. 重复的DNA序列
滑环安装注意事项
WordPress建站技术笔记
《社会企业开展应聘文职人员培训规范》团体标准在新华书店上架
C语言02、语句、函数
CopyOnWriteArrayList details
devops-2:Jenkins的使用及Pipeline语法讲解
I am doing open source in Didi
QT QT 】 【 to have developed a good program for packaging into a dynamic library
如何使用MATLAB绘制极坐标堆叠柱状图
Why do I strongly recommend using smart async?
CPU个数_核心数_线程数之间的关系
socket快速理解
【QT】Qt项目demo:数据在ui界面上显示,鼠标双击可弹窗显示具体信息
基于DMS的数仓智能运维服务,知多少?
AI+BI+Visualization, Deep Analysis of Sugar BI Architecture