vue3+ts通过ref访问组件里面的方法及属性

vue3+ts通过ref访问组件里面的方法及属性

之前访问不到主要是子组件没有往外暴露要访问的接口子组件使用了 script setup的组件是默认私有的:一个父组件无法访问到一个使用了 script setup的子组件中的任何东西,:
除非子组件在其中通过 defineExpose方法 宏显式暴露
子组件

复制代码
<template>
  <a-drawer v-model:open="open" class="custom-class" root-class-name="root-class-name" :root-style="{ color: 'blue' }"
    title="Basic Drawer" placement="right">
  </a-drawer>
</template>
<script setup lang="ts">
import { ref } from 'vue';
const open = ref(false);
const showDrawer = () => {
  open.value = true;
};
defineExpose({
  showDrawer
})
</script>

父组件

复制代码
 <ApiModel ref="refApiModel"/>
import ApiModel from "./components/ApiModel.vue"
const refApiModel:any=ref(null)
const actionApiRecord=(type:string,record:any)=>{
  switch(type){
    case 'add':
        refApiModel.value?.showDrawer()
      break;
  }
}
相关推荐
CDwenhuohuo21 分钟前
用spark-md5实现切片上传前端起node模拟上传文件大小,消耗时间
前端
阿桂有点桂27 分钟前
React使用笔记(持续更新中)
前端·javascript·react.js·react
自由日记39 分钟前
实例:跳动的心,火柴人
前端·css·css3
柯腾啊1 小时前
一文简单入门 Axios
前端·axios·apifox
im_AMBER1 小时前
React 15
前端·javascript·笔记·学习·react.js·前端框架
蒲公英源码1 小时前
基于PHP+Vue+小程序快递比价寄件系统
vue.js·小程序·php
How_doyou_do1 小时前
模态框的两种管理思路
java·服务器·前端
snow@li2 小时前
前端:前端/浏览器 可以录屏吗 / 实践 / 录制 Microsoft Edge 标签页、应用窗口、整个屏幕
前端·浏览器录屏·前端录屏·web录屏
李贺梖梖2 小时前
CSS学习
前端·css