vue composition api 访问 原vue2中 this.$refs
Posted 夏目有三三
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue composition api 访问 原vue2中 this.$refs相关的知识,希望对你有一定的参考价值。
1 <el-form class="user-form" ref="ruleFormRef" :model="userForm" status-icon :rules="rules"> 2 <el-form-item label="原密码" prop="oldPass"> 3 <el-input type="password" v-model="userForm.oldPass" auto-complete="off"></el-input> 4 </el-form-item> 5 <el-form-item label="新密码" prop="pass"> 6 <el-input type="password" v-model="userForm.pass" auto-complete="off"></el-input> 7 </el-form-item> 8 <el-form-item label="确认密码" prop="checkPass"> 9 <el-input type="password" v-model="userForm.checkPass" auto-complete="off"></el-input> 10 </el-form-item> 11 <el-form-item> 12 <el-button type="primary" @click="changePassword(‘userForm‘)">修改密码</el-button> 13 </el-form-item> 14 </el-form>
由于composition api采用函数组合方式编程,无法使用 this 访问vue实例,故无法使用 this.$refs.ruleFormRef 访问form表单。
可在 setup 中声明一个具有相同 ruleFormRef 名称的 ref ,初始化为 null :
1 export default { 2 setup(props) { 3 // Refs 4 const ruleFormRef= ref(null); 5 6 // Hooks 7 onMounted(() => { 8 console.log("ruleFormRef: ", ruleFormRef.value); 9 }); 10 11 return { 12 ruleFormRef 13 }; 14 } 15 };
现在你可以通过 ruleFormRef.value 访问form表单。
以上是关于vue composition api 访问 原vue2中 this.$refs的主要内容,如果未能解决你的问题,请参考以下文章
vue2升级vue3: TSX Vue 3 Composition API Refs
Vue 3 Composition API、Props 和 v-if 渲染,尽管值为 false
Vue 3 & Composition API:v-for 循环中的模板引用错误:仅获取代理
如何正确使用 v-model 和 Composition API :value="modelValue" 语法?将 Vue2 自定义输入转换为 Vue3