React基础教程(06):Ref的应用

7、Ref的应用

7.1 给标签设置ref="username"

通过这个获取this.refs.usernameref可以获取到应用的真实dom

html 复制代码
<input style={{width:300}}
       ref={"text"}/>
{/*非常推荐*/}
<Button style={{backgroundColor:'#2ba471', border:"none"}} size={"large"} type={"primary"}
        onClick={ ()=>{
             this.handlerClick() // 非常推荐,传参数
} }>add</Button>

获取input的值

js 复制代码
handlerClick = ()=>{
        console.log("Click4", this.refs.text.value)
    }

实现效果

7.2 给组件设置ref="username"

通过这个获取this.refs.usernameref可以获取到组件对象

7.3 新写法

html 复制代码
 myRef = React.createRef();

<input style={{width:300}}
       ref={this.myRef}/>
{/*非常推荐*/}
<Button style={{backgroundColor:'#2ba471', border:"none"}} size={"large"} type={"primary"}
        onClick={ ()=>{
               this.handlerClick() // 非常推荐,传参数
} }>add</Button>

点击按钮获取input的输入值,主要代码为this.myRef.current.value

js 复制代码
handlerClick = ()=>{
        console.log("Click4", this.myRef.current.value)
    }

效果展示

相关推荐
如若1233 分钟前
对文件内的文件名生成目录,方便查阅
java·前端·python
滚雪球~1 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语1 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport1 小时前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg1 小时前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全
胡西风_foxww1 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
m0_748254881 小时前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui
星就前端叭2 小时前
【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
前端·后端·开源·webrtc
m0_748234522 小时前
前端Vue3字体优化三部曲(webFont、font-spider、spa-font-spider-webpack-plugin)
前端·webpack·node.js
Web阿成2 小时前
3.学习webpack配置 尝试打包ts文件
前端·学习·webpack·typescript