当前位置:网站首页>组件通信--下拉菜单案例
组件通信--下拉菜单案例
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>
)
}
边栏推荐
- 托尔斯泰:生活中只有两种不幸
- C语言02、语句、函数
- 使用 PowerShell 将 Windows 转发事件导入 SQL Server
- 附录A 程序员工作面试的秘密
- 《安富莱嵌入式周报》第276期:2022.07.25--2022.07.31
- window.open does not show favicon.icon
- 使用uniapp 封装一个request 请求
- Yuan xiaolin: Volvo focus on travel security, and put it perfectly
- To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
- 常见分布式理论(CAP、BASE)和一致性协议(Gosssip、Raft)
猜你喜欢

一文看懂推荐系统:召回02:Swing 模型,和itemCF很相似,区别在于计算相似度的方法不一样

MPLS的wpn实验

Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology

我在滴滴做开源

数据中台“集存通用治”功能场景说明

想进阿里?先来搞懂一下分布式事务

TCP 可靠吗?为什么?

How much do you know about the intelligent operation and maintenance service of data warehouse based on DMS?

Spark entry learning-2

【Unity入门计划】制作RubyAdventure01-玩家的创建&移动
随机推荐
MySQL查询语法
建造者模式/生成器模式
C专家编程 第3章 分析C语言的声明 3.1 只有编译器才会喜欢的语法
C专家编程 第1章 C:穿越时空的迷雾 1.7 编译限制
Why do I strongly recommend using smart async?
C专家编程 第2章 这不是Bug,而是语言特性 2.1 这关语言特性何事,在Fortran里这就是Bug呀
Kubernetes 笔记 / 目录
Leetcode76. Minimal Covering Substring
20. Valid Parentheses
DAYU200 OpenHarmony标准系统HDMI全屏显示
MySQL窗口函数 OVER()函数介绍
C语言04、操作符
带你了解什么是 Web3.0
实时渲染流程操作复杂吗,如何实现?
EA 改口,称单人游戏是产品组合中“非常重要的一部分”
如何使用MATLAB绘制极坐标堆叠柱状图
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
Detailed ReentrantLock
QT QT 】 【 to have developed a good program for packaging into a dynamic library
【深度学习】今日bug(8月2)