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

Vue3 动态设置 ref

介绍

在一些场景,ref设置是未知的需要根据动态数据来决定,如表格中的input框需要我们主动聚焦,就需要给每一个input设置一个ref,进而进行聚焦操作。

Demo

点击下面截图中的编辑按钮,自动聚焦到相应的输入框中。
在这里插入图片描述

<template><!-- 动态ref --><div class="test_ref"><div v-for="item in 9" :key="item"><span>{{ item }}</span><!-- 动态设置ref --><el-inputv-model="inputVal"placeholder="Please input":ref="(el:refItem) => handleSetInputMap(el, item)"/><el-button type="primary" :icon="Edit" @click="handleEdit(item)" /></div></div>
</template><script lang="ts" setup>
import { ref } from "vue";
import { Edit } from "@element-plus/icons-vue";
import { ComponentPublicInstance } from "vue";
type refItem = Element | ComponentPublicInstance | null;
const inputVal = ref();
const inputRefMap = ref({});/** 编辑 */
const handleEdit = (item: number) => {// 若输入框此时还没有渲染出来,如先隐藏再触发显示 需要使用nextTick进行聚焦inputRefMap.value[`Input_Ref_${item}`].input.focus();
};/** 动态设置Input Ref */
const handleSetInputMap = (el: refItem, item: number) => {if (el) {inputRefMap.value[`Input_Ref_${item}`] = el;}
};
</script><style lang="scss" scoped>
.test_ref {padding: 50px;> div {width: 300px;margin: 0 auto;display: flex;justify-content: center;align-items: center;gap: 20px;margin-bottom: 10px;}
}
</style>

效果

在这里插入图片描述

http://www.lryc.cn/news/235590.html

相关文章:

  • fast lio 2 保存每一帧的点云PCD和里程计矩阵 Odom 在txt文件
  • 当前主流DDos方式有哪几类
  • 神经网络常见评价指标AUROC(AUC-ROC)、AUPR(AUC-PR)
  • Apache Doris安装部署
  • Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?
  • 4种经典的限流算法
  • <MySQL> 什么是数据库事务?事务该如何使用?
  • Linux 网络:PMTUD 简介
  • BatchNormalization:解决神经网络中的内部协变量偏移问题
  • DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)
  • 许多网友可能还不知道,升级到Windows 11其实没那么复杂,只要符合几个条件可以了
  • ubuntu下载conda
  • 重磅 | 进一步夯实生态建设,朗思科技与阿里龙蜥完成兼容性认证
  • Qt给控件添加图片
  • 3.6-Dockerfile语法梳理及最佳实践
  • springboot集成nacos并实现自动刷新
  • java面试八股文2023完整版详解110题附带答案
  • 微服务实战系列之Token
  • DRF纯净版项目搭建和配置
  • AUTODL云服务器使用大致步骤(适合本人版)
  • 无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器
  • 简朴博客系统测试报告
  • Qt遇到常见问题记录
  • pm2在Windows环境中的使用
  • 使用百度翻译API或腾讯翻译API做一个小翻译工具
  • Flutter笔记:桌面应用 窗口定制库 bitsdojo_window
  • iOS_折叠展开 FoldTextView
  • java使用 TCP 的 Socket API 实现客户端服务器通信
  • conda从4.12升级到最新版23.9 自动升级失败 手动升级方法
  • WPF下实现拖动任意地方都可以拖动窗口