当前位置: 首页 > article >正文

react中的ref三种形式

1,字符串形式

  <!-- 创建盒子 -->
  <div id="test">

  </div>   


 <script type="text/babel">
      class Demo extends React.Component{
        render(){
          return(
            <div>
              <input type="text" ref='input1' />
              <button onClick={this.showDate}>点我提示左侧的数据</button>
              <input type="text" onBlur={this.shhowDate1} ref='input2'/>
            </div>
          )
        }
        showDate = () =>{
          console.log(this.refs.input1.value,'input1')
        }
        shhowDate1 = () =>{
          console.log(this.refs.input2.value,'input1')
        }
      }
      ReactDOM.render(<Demo />,document.getElementById('test'))
    </script>

2,回调形式

          /**
           * 1,在标签上使用回调形式
           * <input type="text" ref={c =>this.input1 = c }/>
           * 2,使用获取
           * this.input1
           * **/
  <!-- 创建盒子 -->
  <div id="test">

  </div>

 <script type="text/babel">
      class Test extends React.Component {
        render(){
          return (
            <div>
              <input type="text" ref={c =>this.input1 = c }/>
              <button onClick={this.showDate}>点我</button>
              <input type="text" ref={c =>this.input2 = c}/>
            </div>
          )
        }
        showDate = () =>{
          console.log(this.input1.value)
          console.log(this.input2.value)
        }
      }
      ReactDOM.render(<Test />,document.getElementById('test'))
    </script>

3,createRef形式

        /**
         *  1,引用语法
         * aaa =  React.createRef()
         * 2,定义在标签上
         * <input type="text" ref={this.aaa}/>
         * 3,使用获取
         * console.log(this.aaa.current.value,'this.mydata')
         * **/
    <script type="text/babel">
      class MyComponent extends React.Component{
        /**
         *  1,引用语法
         * React.
         * **/
        mydata = React.createRef()
        mydata1 = React.createRef()
        render(){
          return (
            <div>
              <input type="text" ref={this.mydata}/>
              <button onClick={this.clickDate} >点击</button>
              <input type="text" ref={this.mydata1} onBlur={this.clickDate1}/>
            </div>
          )
        }
        clickDate = () =>{
          console.log(this.mydata.current.value,'this.mydata')
        }
        clickDate1 = () =>{
          console.log(this.mydata1.current.value,'this.mydata1')
        }
      }
      ReactDOM.render(<MyComponent/>,document.getElementById('test'))
    </script>


http://www.kler.cn/news/329667.html

相关文章:

  • C# Windows EventHandler事件的使用
  • 足球青训俱乐部管理:Spring Boot技术驱动
  • 两个圆形 一个z里面一个z外面,z里面的大,颜色不同 html
  • 通信工程学习:什么是FTP文件传输协议
  • C++系列-继承补充
  • 【Redis 源码】7RDB持久化
  • 迈德斯特升降桌使用说明
  • 5个python多线程简单示例
  • 封装轮播图 (因为基于微博小程序,语法可能有些出入,如需使用需改标签)
  • [Day 77] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • java往word中添加水印,往excel中添加图片
  • kafka 换盘重平衡副本 操作流程
  • Java面试——操作系统篇
  • 【PCB工艺】表面贴装技术中常见错误
  • 【高效管理集合】并查集的实现与应用
  • springboot3通过HttpRequest请求soap
  • 躺平成长:微信小程序运营日记第二天
  • C0005.Clion中移动ui文件到新目录后,报错问题的解决
  • 『功能项目』宠物的召唤跟随【79】
  • 有关Python时间戳的计算
  • OpenAI全新多模态内容审核模型上线:基于 GPT-4o,可检测文本和图像
  • lstm实践
  • 如何在 Windows 10 上恢复未保存/删除的 Word 文档
  • C++ 学习,标准库
  • 结构光编解码—正反格雷码解码代码
  • SQL_create_view
  • VR、AR、MR、XR 领域最新科研资讯获取指南
  • CSS链接
  • 查找与排序-快速排序
  • 数造科技入选中国信通院《高质量数字化转型产品及服务全景图》三大板块