vue3中ref获取子组件的值代码示例

 更新时间:2023年08月16日 10:06:14   作者:我的代码永没有bug  
这篇文章主要给大家介绍了关于vue3中ref获取子组件值的相关资料,在Vue3中父组件获取子组件的值可以通过使用'ref'和'$refs'来实现,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

一、< script setup >通过ref获取子组件的值或方法

父组件:

 <pane-account ref="accountRef"></pane-account>
 <script lang="ts" setup>
	import { ref } from 'vue';
	import PaneAccount from './pane-account.vue';
	const accountRef = ref<InstanceType<typeof PaneAccount>>();
	const loginAction = () => {
	// 父组件获取子组件ref值
	  accountRef.value?.accountLoginAction();
	};
</script>

子组件:

<script lang="ts" setup>
import { ref, reactive, defineProps, defineExpose } from 'vue';
import type { ElForm } from 'element-plus';
const formRef = ref<InstanceType<typeof ElForm>>();
const accountLoginAction = () => {
  formRef.value?.validate((valid) => {
    if (valid) {
      console.log('登录');
    } else {
      console.log('222');
    }
  });
};
// 只有defineExpose暴露的值或方法才能被父组件通过ref访问 
defineExpose({
  accountLoginAction
});

二、setup()通过ref获取子组件值

父组件:

<pane-account ref="accountRef"></pane-account>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue'
export default defineComponent({
  setup() {
    const accountRef = ref<InstanceType<typeof LoginAccount>>()
    const loginAction = () => {
     accountRef.value?.accountLoginAction()
    }
    return {
      loginAction,
      accountRef
    }
  }
})
</script>

子组件:

<script lang="ts">
import { defineComponent, PropType, computed, ref } from 'vue'
export default defineComponent({
  setup(props, { emit }) {
    const accountLoginAction = () => {
     console.log('子组件的方法')
    }
    return {
      accountLoginAction
    }
  }
})
</script>

总结 

到此这篇关于vue3中ref获取子组件的值的文章就介绍到这了,更多相关vue3 ref获取子组件值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue项目中如何封装axios(统一管理http请求)

    Vue项目中如何封装axios(统一管理http请求)

    这篇文章主要给大家介绍了关于Vue项目中如何封装axios(统一管理http请求)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • element-ui table使用type='selection'复选框全禁用(全选禁用)详解

    element-ui table使用type='selection'复选框全禁用(全选禁用)详解

    element-ui中的table的多选很好用,但是如果其中某一项禁止选择,该怎样操作呢,下面这篇文章主要给大家介绍了关于element-ui table使用type='selection'复选框全禁用(全选禁用)的相关资料,需要的朋友可以参考下
    2023-01-01
  • vue父组件异步获取数据传给子组件的方法

    vue父组件异步获取数据传给子组件的方法

    这篇文章主要介绍了vue父组件异步获取数据传给子组件,需要的朋友可以参考下
    2018-07-07
  • vue.js将unix时间戳转换为自定义时间格式

    vue.js将unix时间戳转换为自定义时间格式

    这篇文章主要介绍了vue.js将unix时间戳转换为自定义时间格式的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 前端Vue.js实现json数据导出到doc

    前端Vue.js实现json数据导出到doc

    这篇文章主要介绍了前端Vue.js实现json数据导出到doc,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Vue render函数使用详细讲解

    Vue render函数使用详细讲解

    vue中的render函数,它返回的是一个虚拟节点vnode,也就是我们要渲染的节点,下面这篇文章主要给大家介绍了关于Vue中render函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Vue3将虚拟节点渲染到网页初次渲染详解

    Vue3将虚拟节点渲染到网页初次渲染详解

    这篇文章主要为大家介绍了Vue3将虚拟节点渲染到网页初次渲染详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Vue接入高德地图的完整实例

    Vue接入高德地图的完整实例

    近期在用vue做一个环保类的项目,要求使用高德地图,下面这篇文章主要给大家介绍了关于Vue接入高德地图的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 详解vue2.0的Element UI的表格table列时间戳格式化

    详解vue2.0的Element UI的表格table列时间戳格式化

    本篇文章主要介绍了详解vue2.0的Element UI的表格table列时间戳格式化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-06-06
  • Vue2利用echarts绘制折线图,饼图和大图

    Vue2利用echarts绘制折线图,饼图和大图

    这篇文章主要为大家详细介绍了Vue2如何利用echarts绘制折线图,饼图和大图,文中的示例代码简洁易懂,具有一定的借鉴价值,需要的可以参考一下
    2023-04-04

最新评论