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

vue3自动暴露element-plus组件的ref

自动暴露子组件的方法,注意在TS下,需要自己声明类型,我这里全用any代替了

<template>
  <el-button @click="getFocus">获得焦点</el-button>
  <com ref="comRef" />
</template>

<script setup lang="ts">
import { ref } from 'vue'
import com from './components/com.vue'

const comRef = ref(null);
const getFocus = () => {
  (comRef.value! as any).focus()
};
</script>

子组件

<template>
  <el-input v-model="val" placeholder="请输入文本框" ref="inputRef" />
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { InputInstance } from 'element-plus'

const val = ref('');
const inputRef = ref<null | InputInstance>(null);

defineExpose(new Proxy({}, {
  get(_target, key) {
    return (inputRef.value as any)?.[key];
  },
  has(_target, key) {
    return key in inputRef.value! as any;
  },
}))
</script>


http://www.kler.cn/a/319384.html

相关文章:

  • ubuntu中apt-get的默认安装路径。安装、卸载以及查看的方法总结
  • 《深度解析 C++中的弱引用(weak reference):打破循环依赖的利器》
  • matlab建模入门指导
  • 【vue2.0入门】vue单文件组件
  • [HarmonyOS]简单说一下鸿蒙架构
  • 信号量和线程池
  • C# 找到给定点集的简单闭合路径(Find Simple Closed Path for a given set of points)
  • 203. 移除链表元素
  • David律所代理Jose Martin幽默水果版权首发维权,尚未TRO
  • MySQL安装教程
  • 240922-MacOS终端访问硬盘
  • C++_22_异常
  • C++:模版初阶
  • 手把手搞定VMware 的CentOS硬盘扩容
  • Unity 设计模式 之 行为型模式 -【中介者模式】【迭代器模式】【解释器模式】
  • 使用sqoop报错
  • Qt网络通信之TCP
  • Agile Modbus STM32裸机移植 从机使用
  • Django基础-创建新项目,各文件作用
  • npm install安装缓慢及npm更换源
  • 研究生三年概括
  • 【Linux实践】实验五:用户和组群账户管理
  • 充电宝哪个牌子性价比高?2024年充电宝推荐!7款好用充电宝推荐
  • 计算机毕业设计 校园新闻管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 详细介绍swoole以及其优缺点
  • Spring Boot实战:使用@Import进行业务模块自动化装配