使用 ref 对已渲染到页面的节点进行标记

一、字符串形式的 ref

<input type="text" /*给标签打上标记 ipt */ ref="ipt" />

在这里插入图片描述
拿到标记的节点,对其进行操作

handleClick = () => {console.log(this);// 用 ref 标记了的标签,都会保存在 refs 里面console.log(this.refs); // 获取 refsconsole.log(this.refs.ipt); // 获取 refs 里面的标记,返回标记所对应的标签console.log(this.refs.ipt.value); // 获取标记标签的值
}

二、回调函数形式的 ref

handleClick = () => {const {ipt} = this; // 结构出 this 上的 iptconsole.log(ipt);
}render() {return (<div><input type="text" ref = {c => this.ipt = c {/* 此时的 c 就是 input 元素本身 */}}/> {/* this.ipt 在实例上呈现 ipt: input */}<button onClick={this.handleClick}>按钮</button></div>)
}

三、createRef 形式

// 标记节点
myRef = React.createRef();
myRef2 = React.createRef();handleClick = () => {// this.myRef 是一个对象// this.myRef.current === input 元素本身console.log(this.myRef.current.value); // 拿到当前被标记的节点的值
}render() {return (<div><input type="text" ref={this.myRef} /><button onClick={this.handleClick}>按钮</button><input type="text" ref={this.myRef2} onBlur={this.handleBlur}/></div>)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA之private修饰成员方法默认是final型的?

Java之private修饰成员方法默认是final型的&#xff1f; private修饰的成员方法默认是final型的&#xff1f; 用fianl声明的成员方法是最终方法&#xff0c;最终方法不能被子类覆盖&#xff08;重写&#xff09; 从表面上看这个命题是错误的&#xff0c;private访问修饰符修饰…

python高阶函数教学_Python 简明教程 --- 16,Python 高阶函数

对于那些快速算法&#xff0c;我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们。—— Douglas Jones目录高阶函数一般以函数为参数。本节我们介绍Python 中三个方便的高阶函数&#xff0c;分别是&#xff1a;mapreducefilter如果你了解过分布式系统框架---Hadoop&…

react 组件传值

一、父传子 - 函数式组件 function Father (props) {const {money} props; // 解构render() {<div><Child getSonMoney{money}/></div>} }function Child (props) {return (<div><p>我爸爸现在有存款&#xff1a;${props.getSonMoney}</p&g…

深入理解static关键字

文章目录1、static存在的主要意义2、static的独特之处3、static应用场景4、静态变量和实例变量的概念5、静态变量和实例变量区别【重点常用】6、访问静态变量和实例变量的两种方式7、static静态方法8、static静态代码块9、static变量与普通变量区别10、静态内部类11、静态导包1…

kafka数据不丢失不重复_如何配置 KAFKA 使其消息不会丢失

不可靠的KAFKA这里的不可靠是指代KAFKA其设计之初就为高性能而设计&#xff0c;其是允许消息丢失的&#xff0c;但经过多个版本的升级之后&#xff0c;通过KAFKA的相关配置&#xff0c;我们可以将其作为可靠的队列(不丢消息的队列)。在本文里&#xff0c;不会具体列出要改哪个参…

聊聊 vue 生命周期

一、常用的常用的生命周期钩子&#xff1a; mounted: 发送 ajax 请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】 mounted() {console.log(vm 实例被挂载之后&#xff1a;mounted);this.timer setInterval(() > {...} }beforeDestroy: 清除定时器、解绑自定…

程序员你真的理解final关键字吗?

文章目录1、修饰类2、修饰方法3、修饰变量4、final变量修饰变量&#xff08;成员变量、局部变量&#xff09;4、1 final修饰成员变量&#xff1a;4、2 final修饰局部变量&#xff1a;5、final变量和普通变量的区别6、final与static的藕断丝连7、关于final修饰参数的争议前言 提…

axios vue 动态date_Web前端Vue系列之-Vue.js 实战

课程简介&#xff1a;课程目标&#xff1a;通过本课程的学习&#xff0c;让大家掌握Vue.js的进阶知识并在项目中应用。适用人群&#xff1a;具有一定vue开发基础的开发人员。课程概述&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式Jav…

Static静态代码块以及各代码块之间的执行顺序

文章目录代码块的分类1、静态代码块&#xff08;也叫静态块、静态初始化块&#xff09;2、构造代码块&#xff08;也叫构造初始化块&#xff09;3、代码块&#xff08;又叫普通代码块、初始化块&#xff09;执行顺序的代码测试继承中各代码块的执行顺序前言 在Java中&#xff0…

vue 组件 - 非单文件组件

一、定义组件 const school Vue.extend({name: xuexiao, // ----------------------------> 指定组件在开发者工具中显示的名字template: // ----------------------------> 模板<div>... 此处是结构</div>,data() { // ---------------------------->…

matlab安装好 启动总是闪退_在Ubuntu16.04下安装MATLAB2017b

1. 前言最近在折腾Ubuntu系统的高端机子&#xff0c;matlab这家伙的交互和可视化太方便了&#xff01;于是想在Linux下安装matlab&#xff0c;在各个版本中&#xff0c;matlab2017的性价比是非常高的&#xff0c;因此选择安装介个。阅读了很多帖子&#xff0c;综合找到几个靠谱…

vue 脚手架

一、 脚手架 初始 全局安装脚手架 npm i -g vue/cli切换到项目根目录&#xff0c;使用 vue create 项目名称 创建项目使用 npm run serve | yarn serve 启动项目 如果中途卡顿 使用 npm 淘宝镜像 npm config set registry --> https://registry.npm.taobao.orgvue 隐藏了…

这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析

前言 package com.jvm.classloader;class Father2{public static String strFather"HelloJVM_Father";static{System.out.println("Father静态代码块");} }class Son2 extends Father2{public static String strSon"HelloJVM_Son";static{Syste…

bigdecimal js 判断等于0_为啥阿里禁用BigDecimal的equals方法做等值比较

BigDecimal&#xff0c;相信对于很多人来说都不陌生&#xff0c;很多人都知道它的用法&#xff0c;这是一种java.math包中提供的一种可以用来进行精确运算的类型。很多人都知道&#xff0c;在进行金额表示、金额计算等场景&#xff0c;不能使用double、float等类型&#xff0c;…

脚手架 - ref

被用来给元素或子组件注册引用信息&#xff08;id的替代者&#xff09;应用在 html 标签上获取的是真实 DOM 元素&#xff0c;应用在组件标签上的是组件实例对象 VueComponent{}使用方式 (1). 打标识 <!-- 给真实 DOM 元素打标识 --> <h1 ref"xxx">...&…

git提交到github总是要输入密码_GitHub不为人知的秘密

本来想叫《GitHub骚操作》的&#xff0c;发现相关的文章已经有很多&#xff0c;而且和我本章要讲的内容完全不同&#xff0c;所以就换了这个也算贴切的标题。起因之前写过一篇文章《VM Manager 插件分享》&#xff0c;事后我发现有个地方不对劲&#xff01;看之前文章标题大家应…

MyBatis中大于号以及小于号的表达方式

mybatis使用的是xml格式的文件。使用>和<号的时候&#xff0c;会存在与xml的标签的规范冲突。 1.场景还原 在实际项目中&#xff0c;有很多需求需要通过设定一个具体的时间段来搜索或过滤所需的数据&#xff0c;今天笔者就mybatis中时间比较涉及到的大于&#xff0c;小于…

脚手架 - props

一、props — 让组件接收外部传过来的数据 传递数据 <Example name"xxx"/>接收数据 // 1. 只接收 props: [name]// 2. 接收并限制类型 props: {name: String }// 3. 接收、限制类型、必要性、默认值 props: {name: {type: String, // 类型required: true, /…

mybatis plus当月数据查询_Springboot+mybatis(plus)+druid多数据源

前言:我不太喜欢AOP读自定义注解来切换数据源.因为如果我一个业务里需要同时查2个数据源的数据而又不想把这个业务拆成2个方法的时候,就比较麻烦了.所以我打算根据package来扫描注入不同的DataSource.可能是我搜索的姿势不太对 , 资料比较少.也会碰到不少坑.所以记录一下.正文:…

mybatis里mapper.xml中SQL语句if语句嵌套if语句

为了实现一个sql可以根据条件不同实现sql语句的动态查询&#xff0c;所以在使用mybatis时&#xff0c;对应的mapper.xml的sql语句可以根据条件值的不同执行不同的sql语句&#xff0c; 最开始在我的where子句中我的if语句是这么写的&#xff1a; <where><if test"…