当前位置:网站首页>组件通信--下拉菜单案例
组件通信--下拉菜单案例
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>
)
}
边栏推荐
猜你喜欢
随机推荐
附录A 程序员工作面试的秘密
TCP 可靠吗?为什么?
mysql delete 执行报错:You can‘t specify target table ‘doctor_info‘ for update in FROM clause
带你了解什么是 Web3.0
C专家编程 第2章 这不是Bug,而是语言特性 2.3 误做之过
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
C专家编程 第3章 分析C语言的声明 3.4 通过图标分析C语言的声明
MobileVIT实战:使用MobileVIT实现图像分类
MATLAB | 一种简易的随机曼陀罗图形生成函数
使用.NET简单实现一个Redis的高性能克隆版(一)
Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology
想进阿里?先来搞懂一下分布式事务
新版本 MaxCompute 的SQL 中支持的 EXTRACT 函数有什么作用?
【Unity入门计划】基本概念(7)-Input Manager&Input类
Leetcode76. Minimal Covering Substring
How to start an NFT collection
C专家编程 第1章 C:穿越时空的迷雾 1.7 编译限制
C专家编程 第1章 C:穿越时空的迷雾 1.10 “安静的改变”究竟有多少安静
【翻译】关于扩容一个百万级别用户系统的六个课程
2021年数据泄露成本报告解读









