vue3 + ts(typescript) ref 获取单个/多个dom元素

个人网站
https://kuangyx.cn
template

<input type="text" ref="inputRef" />
<!-- 加冒号传入divs方法 -->
<div v-for="i of 3" :key="i" :ref="divs"></div>

setup

// 获取单个dom
const inputRef = ref<HTMLElement | null>(null);

// 获取多个dom
const arr = ref([]);
const divs = (el: HTMLElement) => {
  // 断言为HTMLElement类型的数组
  (arr.value as Array<HTMLElement>).push(el);
  
  // 这样写编译器会抛出错误 
  // --> Argument of type 'HTMLElement' is not assignable to parameter of type 'never'.
  // arr.value.push(el);
};
onMounted(() => {
  // 加载完成获取input焦点
  inputRef.value && inputRef.value.focus();
  // 打印多个ref DOM
  console.log(arr);
});
return {
  inputRef,
  divs,
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容