最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3循環(huán)設(shè)置ref并獲取的解決方案

 更新時間:2024年02月02日 08:45:26   作者:湛海不過深藍  
我們在平時做業(yè)務(wù)的時候,父子組件通信會經(jīng)常用到ref,這篇文章主要給大家介紹了關(guān)于vue3循環(huán)設(shè)置ref并獲取的解決方案,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

前言

vue可通過ref來獲取當(dāng)前dom,但是vue3有個問題,就是必須定義ref的變量名,才能使用

倘若有許多個ref,一個個去定義未免過于繁瑣,還有就是若是dom是使用v-for循環(huán)出來的,那么ref也就不確定了,無法提前定義

解決方法:

  • 這是使用v-for循環(huán)出來的dom,ref通過index下標(biāo)來命名,
<div
 class="chart"
  v-for="(item, index) in riskSpreadItem"
  :key="item.title"
>
  <Pie
    :id="`riskSpread${index}`"
    :ref="el => getRiskSpreadRef(el, index)"
    :title="item.title"
    :data="item.data"
    emptyText="暫無風(fēng)險"
  />
</div>
  • 此時riskSpreadRefList里面放的就是所有ref
const riskSpreadRefList = ref<HTMLElement[]>([]);
const getRiskSpreadRef = (el, index) => {
  if (el) {
    riskSpreadRefList.value[index] = el; 
  }
};
  • 使用:循環(huán)去取就行了,item就是通過ref拿到的dom元素。可以操作上面定義的變量或方法
riskSpreadRefList.value?.forEach((item: any) =&gt; {
    console.log(item)
});

還有一種獲取ref的方法,與上面略相似,記錄一下,但是用push可能會造成ref還沒渲染完得到null的情況,所以最好還是上面那樣寫

<div class="chart">
  <Pie
    :id="`risk${index}`"
    :ref="getRiskRef"
    :data="item.data"
    @clickPie="queryRiskList"
  />
</div>
let riskRefList = ref<HTMLElement[]>([]);
const getRiskRef = (el) => {
  if (el) {
    riskRefList.value.push(el);
  }
};
riskRefList .value?.forEach((item: any) => {
    console.log(item)
});

附:vue3獲取動態(tài)循環(huán)生成的ref

html部分:

<template>
    <div  v-for="(item,index) in list" :ref="setItemRef">
      {{item}}
    </div>
    <el-button @click="getRefData">獲取</el-button>
</template>

js部分

<script lang="ts" setup>
    import {ref,reactive,onMounted} from 'vue'
    const refList = ref([]); //定義ref數(shù)組
    const list = reactive([
        "第一行數(shù)據(jù)",
        "第二行數(shù)據(jù)",
        "第三行數(shù)據(jù)",
        "第四行數(shù)據(jù)",
    ])
    //賦值ref
    const setItemRef = el => { 
        if (el) {
            refList.value.push(el);
        }
    }

	//獲取ref并執(zhí)行接下來操作
    const getRefData = ()=>{
        for(let i =0; i < refList.value.length; i++){
            console.log(refList.value[i]); // refList.value[i].xxx   執(zhí)行todo
        }
    }
 </script>

總結(jié) 

到此這篇關(guān)于vue3循環(huán)設(shè)置ref并獲取的文章就介紹到這了,更多相關(guān)vue3循環(huán)設(shè)置ref并獲取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED

    vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED

    vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue實現(xiàn)組件通信的8種實戰(zhàn)方案詳解

    Vue實現(xiàn)組件通信的8種實戰(zhàn)方案詳解

    組件與組件之間的數(shù)據(jù)傳遞組件的數(shù)據(jù)是獨立的,無法直接訪問其他組件的數(shù)據(jù),通過組件通信,可以訪問其他組件的數(shù)據(jù),本文給大家介紹了Vue實現(xiàn)組件通信的8種實戰(zhàn)方案,需要的朋友可以參考下
    2025-08-08
  • 如何修改Vue項目運行的IP和端口

    如何修改Vue項目運行的IP和端口

    這篇文章主要介紹了修改Vue項目運行的IP和端口的方法,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 單頁面Vue頁面刷新出現(xiàn)閃爍問題及解決

    單頁面Vue頁面刷新出現(xiàn)閃爍問題及解決

    這篇文章主要介紹了單頁面Vue頁面刷新出現(xiàn)閃爍問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue3在router中使用pinia報錯的簡單解決辦法

    Vue3在router中使用pinia報錯的簡單解決辦法

    這篇文章主要給大家介紹了關(guān)于Vue3在router中使用pinia報錯的簡單解決辦法,什么是pinia,可以理解為狀態(tài)管理工具,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Vue實現(xiàn)父子組件之間的數(shù)據(jù)傳遞

    Vue實現(xiàn)父子組件之間的數(shù)據(jù)傳遞

    在前端開發(fā)中,Vue.js 是一個非常流行的框架,因其易學(xué)易用而受到許多開發(fā)者的青睞,其中,組件是 Vue 的核心概念之一,組件之間的數(shù)據(jù)傳遞是開發(fā)中的常見需求,本文將探討如何在 Vue 中實現(xiàn)父子組件之間的數(shù)據(jù)傳遞,需要的朋友可以參考下
    2024-11-11
  • vue中el-table實現(xiàn)可拖拽移動列和動態(tài)排序字段

    vue中el-table實現(xiàn)可拖拽移動列和動態(tài)排序字段

    最近公司需要做個項目,需要拖拽表格和自定義表格字段,本文主要介紹了vue中el-table實現(xiàn)可拖拽移動列和動態(tài)排序字段,具有一定吃參考價值,感興趣的可以了解一下
    2023-12-12
  • Vue+Ant Design開發(fā)簡單表格組件的實戰(zhàn)指南

    Vue+Ant Design開發(fā)簡單表格組件的實戰(zhàn)指南

    在現(xiàn)代前端開發(fā)中,數(shù)據(jù)表格是展示信息最常用的組件之一,本文主要為大家介紹了一個基于Vue和Ant Design的表格組件開發(fā)過程,感興趣的可以了解下
    2025-06-06
  • vite.config.js配置入門詳解

    vite.config.js配置入門詳解

    本文主要介紹了vite.config.js配置入門詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 使用Vue-Router 2實現(xiàn)路由功能實例詳解

    使用Vue-Router 2實現(xiàn)路由功能實例詳解

    vue-router 2只適用于Vue2.x版本,下面我們是基于vue2.0講的如何使用vue-router 2實現(xiàn)路由功能,需要的朋友可以參考下
    2017-11-11

最新評論

巴中市| 哈巴河县| 澄迈县| 嘉黎县| 通渭县| 衡阳市| 贺兰县| 紫云| 兴宁市| 通城县| 潮州市| 普兰县| 新营市| 克山县| 界首市| 福贡县| 甘洛县| 舒兰市| 鸡泽县| 朝阳县| 民乐县| 定安县| 中超| 四子王旗| 虹口区| 勐海县| 沾化县| 平定县| 闸北区| 抚州市| 南城县| 瓦房店市| 孟津县| 东至县| 闵行区| 陵水| 临桂县| 葵青区| 仙游县| 深泽县| 谢通门县|