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

uni-app使用vue3,在元素或组件实例上添加ref,用this.$refs显示undefined

项目中引用了一个UI组件库,在表单上添加了`ref`属性,方便提交时验证。触发提交方法时显示不存在这个方法或this.$refs为undefined。

<u--form labelPosition="left" :model="userInfo" :rules="rules" ref="loginForm"><u-form-item label="账号" prop="name" borderBottom ref="username"><u--input v-model="userInfo.name" placeholder="请输入账号" border="surround"></u--input></u-form-item><u-form-item label="密码" prop="password" borderBottom ref="password"><u--input v-model="userInfo.password" placeholder="请输入密码" border="surround" type="password"></u--input></u-form-item><div class="loginBtn"><u-button type="primary" @click="loginApp">登录</u-button></div>
</u--form>

解决方法:

引入`getCurrentInstance`,t得到当前组件实例,然后用`ctx.$refs`代替`this.$refs`。这里的`ctx`相当于全局this。

<script setup>import { getCurrentInstance } from 'vue'// 获取当前组件实例const { ctx } = getCurrentInstance();function loginApp() {ctx.$refs.loginForm.validate().then(res => {uni.$u.toast('校验通过')}).catch(err => {uni.$u.toast('校验失败')})}<script>

http://www.lryc.cn/news/176939.html

相关文章:

  • 蜂蜜配送销售商城小程序的作用是什么
  • 大数据Flink(八十四):SQL语法的DML:窗口聚合
  • 系统集成|第十八章(笔记)
  • 480万商品,如何架构商品治理平台?
  • 【C++入门指南】C如何过渡到C++?祖师爷究竟对C++做了什么?
  • 简易磁盘自动监控服务
  • 【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
  • 十六,镜面IBL--预滤波环境贴图
  • 信息安全:恶意代码防范技术原理.
  • 开源媒体浏览器Kyoo
  • 人脸解锁设备时出现相机报错
  • 【广州华锐互动】利用VR开展工业事故应急救援演练,确保救援行动的可靠性和有效性
  • 还不知道数据类岗位的相关技能和职责吗?涤生大数据告诉你(二)
  • 常见应用层协议
  • 解决docker容器无法关闭的问题
  • 2023-09-27 LeetCode每日一题(餐厅过滤器)
  • 梯度下降法(SGD)原理
  • QQ表情包存储位置解析
  • 软件架构的演化和维护
  • C语言数组和指针笔试题(四)(一定要看)
  • FragmentManager is already executing transactions
  • Matlab中clear,close all,clc功能详细说明
  • Typora安装无需破解免费使用
  • LuatOS-SOC接口文档(air780E)--errDump - 错误上报
  • 低代码平台如何助力国内企业数字化转型?
  • SI3262—高度集成的低功耗SOC芯片
  • 除静电离子风机在无尘车间的应用
  • Linux上的Pip和Python升级指南
  • 4G工业路由器高效数据传输助力光伏发电站管理
  • 【音视频笔记】Mediacodec+Muxer生成mp4,浏览器无法播放问题处理