位置: IT常识 - 正文

Vue父组件调用子组件方法this.$refs用法(vue父组件调用子组件的方法报错)

编辑:rootadmin
Vue父组件调用子组件方法this.$refs用法 1. 介绍this.$refs(ref)的用法ref用在组件可以调用组件的属性方法ref用在标签可以对标签进行操作2.父组件调用子组件的方法2.1.父组件

推荐整理分享Vue父组件调用子组件方法this.$refs用法(vue父组件调用子组件的方法报错),希望有所帮助,仅作参考,欢迎阅读内容。

Vue父组件调用子组件方法this.$refs用法(vue父组件调用子组件的方法报错)

文章相关热门搜索词:vue父组件调用子组件的值,vue父组件调用子组件的方法报错,vue父组件调用子组件的值,vue父组件调用子组件属性,vue父组件调用子组件的方法并传参,vue父组件调用子组件属性,vue父组件调用子组件的方法并传参,vue父组件调用子组件的方法并传参,内容如对您有帮助,希望把文章链接给更多的朋友!

代码删除了一部分,可能复制会报错

<template><div> <el-table :data="users" style="width: 100%"> <el-table-column label="操作"> <template slot-scope="users"> <el-button size="mini" @click="handleEdit(users.$index, users.row)">编辑</el-button> <el-button size="mini" type="danger" @click="handleDelete(users.$index, users.row)">删除</el-button> </template> </el-table-column> </el-table> <div> <editUserVue ref="edituser" />//2.引入组件,给组件一个ref的名字方便调用方法 </div></div></template><script>import editUserVue from './editUser.vue'//1.引入组件export default { components: { editUserVue//1.引入组件 }, name: 'Demo', data() { return { users: [{}] } }, methods: { handleEdit(index, row) { this.$refs['edituser'].init(row)//用$refs赋值调用子组件的init方法 }, handleDelete(index, row) { console.log(index, row) } }}</script>2.2.子组件<template> <el-dialog :visible.sync="getedituser"> <el-form :model="user" status-icon :rules="rules" ref="user" label-width="100px" class="demo-ruleForm"> <el-form-item label="名字" prop="name"> <el-input v-model="user.name"></el-input> </el-form-item> <el-form-item label="年龄" prop="age"> <el-input v-model.number="user.age"></el-input> </el-form-item> <el-form-item label="身高" prop="high"> <el-input v-model.number="user.high"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('user')">提交</el-button> <el-button @click="resetForm('user')">重置</el-button> </el-form-item> </el-form> </el-dialog></template><script> export default { name: 'editUser', data() { var checkHigh = (rule, value, callback) => { if (!value) { return callback(new Error('身高不能为空')); } setTimeout(() => { if (!Number.isInteger(value)) { callback(new Error('请输入数字值')); } else { if (10 > value||value > 300) { callback(new Error('请输入正确身高')); } else { callback(); } } }, 1000); }; var checkName = (rule, value, callback) => { if (value === '') { callback(new Error('请输入姓名')); } else { callback(); } }; var checkAge = (rule, value, callback) => { if (!Number.isInteger(value)) { callback(new Error('年龄只能为数字!')); } else { callback(); } }; return { user: { }, rules: { name: [ { validator: checkName, trigger: 'blur' } ], age: [ { validator: checkAge, trigger: 'blur' } ], high: [ { validator: checkHigh, trigger: 'blur' } ] }, getedituser: true }; }, methods: { submitForm(formName) { console.log(this.user) this.$refs[formName].validate((valid) => { if (valid) { this.$axios({ method: 'post', url: '/api/mydemo/edituser', data: this.user, // contentType: 'application/json' }).then((res)=>{ if(res.status === 200){ alert('submit!') this.getedituser = false }else{ alert('error!') } }) } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { console.log(formName) this.$refs[formName].resetFields(); }, init(data){//父组件调用的方法 console.log('来了') this.getedituser=true; //data是父组件弹窗传递过来的值,我们可以打印看看 console.log(data) this.user = data }, } }</script>3.效果

点击弹窗修改框

本文链接地址:https://www.jiuchutong.com/zhishi/283667.html 转载请保留说明!

上一篇:uniapp web-view加载本地html(uniapp页面loading)

下一篇:msgplus.exe是什么进程文件 有什么作用 msgplus进程查询(msg0.db是什么文件)

  • 计算机中毒的异常表现有哪些(计算机中毒)(计算机中毒的表现有哪些)

  • 真我q3s怎么调字体大小(真我q3手机文字怎么设置)

  • 佳能3680打印机闪黄灯(佳能3680打印机三角黄灯闪)

  • 苹果耳机三代充电线怎么用(苹果耳机三代充电仓丢了可以配的到吗)

  • 诺基亚220能上网吗(诺基亚220上网设置)

  • 电脑桌面显示不全怎么设置(电脑桌面显示不了软件)

  • 关联账号别人登录自己看得到吗(关联账号别人登录怎么办)

  • 网易云音乐可以唱歌吗(网易云音乐可以下载到本地吗)

  • 电脑上的文件夹怎么发送到QQ上(电脑上的文件夹如何加密码)

  • p40pro尺寸长宽高(p40 p40pro 尺寸)

  • 华为充电器max40w是什么意思(华为充电器max40w适用于华为什么机型)

  • 微信不适配手机怎么办(微信和手机不适配)

  • 苹果6s电信版能用移动卡吗(苹果6电信版能用4g卡吗)

  • 为什么挂完电话会放歌(为什么挂完电话手机会有音乐播放)

  • win7忘记密码 如何进入系统(win7忘记密码如何进入系统无u盘)

  • word参考文献怎么编辑(word参考文献怎么自动排序)

  • 怎样将ppt变成兼容(怎样将ppt变成兼容模板)

  • 监控回放显示资源不足(监控回放显示资源异常)

  • 苹果app购买怎么关闭(苹果APP购买怎么付款)

  • oppoa7电池容量有多大(oppo a7电池容量)

  • 主板烧了什么症状(主板烧掉的症状)

  • iphonex充电80不动了(iphonex电充到80充不进去)

  • 微信怎么发慢动作视频(微信能发慢动作视频吗)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络