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

Vue3中當v-if和v-for同時使用時產生的問題和解決辦法

 更新時間:2024年07月28日 10:20:57   作者:努力搞米  
封裝一個組件時,我使用到了v-for和v-if,它們在同一標簽內,總是提示v-for循環(huán)出來的item在實例中沒有被定義,查詢資料后原因是因為v-for和v-if在同級使用時,v-if優(yōu)先級比v-for高,所以本文給大家介紹了Vue3中當v-if和v-for同時使用時產生的問題和解決辦法

問題

封裝一個組件時,我使用到了v-for和v-if,它們在同一標簽內,總是提示v-for循環(huán)出來的item在實例中沒有被定義,查詢資料后原因是因為v-for和v-if在同級使用時,v-if優(yōu)先級比v-for高,所以拿不到v-for循環(huán)出來的item。

<el-table-column
      align="center"
      v-for="item in tableData"
      v-if="item.show"
      :key="item.prop"
      :prop="item.prop"
      :label="item.label"
      :sortable="item.sortable ? 'custom' : false"
      :width="item.width"
      :formatter="item.formatter"
      class="tooltip-column"
    >
    </el-table-column>

解決辦法:

1.我們在外層包裹一個 <template> ,先去循環(huán)再去判斷,這樣v-if就可以正常使用了

<template v-for="item in columns">
      <el-table-column
        align="center"
        v-if="item.show"
        :key="item.prop"
        :prop="item.prop"
        :label="item.label"
        :sortable="item.sortable ? 'custom' : false"
        :width="item.width"
        :formatter="item.formatter"
        class="tooltip-column"
      >
      </el-table-column>
    </template>

2.不使用template標簽,我們可以在script中處理

使用計算屬性computed解決,通過數(shù)組方法filter過濾數(shù)組,v-for直接循環(huán)計算屬性后的結果,就不需要使用v-if了。而且computed是有緩存的,就是在它的依賴沒有變化時,不會再執(zhí)行對應計算屬性的回調函數(shù),就提高了性能。

// 計算屬性:處理顯示列
const tableColumns = computed(() => {
  return props.columns.filter((item) =>
    typeof item.show === "undefined" ? true : item.show
  );
});
<el-table-column
      align="center"
      v-for="item in tableColumns"
      :key="item.prop"
      :prop="item.prop"
      :label="item.label"
      :sortable="item.sortable ? 'custom' : false"
      :width="item.width"
      :formatter="item.formatter"
      class="tooltip-column"
    >
    </el-table-column>

到此這篇關于Vue3中當v-if和v-for同時使用時產生的問題和解決辦法的文章就介紹到這了,更多相關Vue3 v-if和v-for同時使用產生的問題內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue如何把組件方法暴露到window對象中

    vue如何把組件方法暴露到window對象中

    這篇文章主要介紹了vue如何把組件方法暴露到window對象中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • eslint常見的一些報錯及解決方法

    eslint常見的一些報錯及解決方法

    這篇文章主要給大家介紹了關于eslint常見的一些報錯及解決方法,解決eslint的報錯問題可以要根據(jù)報錯行數(shù)快速定位.文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 基于express中路由規(guī)則及獲取請求參數(shù)的方法

    基于express中路由規(guī)則及獲取請求參數(shù)的方法

    下面小編就為大家分享一篇基于express中路由規(guī)則及獲取請求參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Node.js+Vue腳手架環(huán)境搭建的方法步驟

    Node.js+Vue腳手架環(huán)境搭建的方法步驟

    這篇文章主要介紹了Node.js+Vue腳手架環(huán)境搭建的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-03-03
  • Vue組件之間的通信方式(推薦!)

    Vue組件之間的通信方式(推薦!)

    組件是 vue.js最強大的功能之一,而組件實例的作用域是相互獨立的,這就意味著不同組件之間的數(shù)據(jù)無法相互進行直接的引用,所以組件間的相互通信是非常重要的,這篇文章主要給大家介紹了關于Vue組件之間的通信方式,需要的朋友可以參考下
    2022-06-06
  • vue項目實現(xiàn)點擊目標區(qū)域之外可關閉(隱藏)目標區(qū)域

    vue項目實現(xiàn)點擊目標區(qū)域之外可關閉(隱藏)目標區(qū)域

    這篇文章主要介紹了vue項目實現(xiàn)點擊目標區(qū)域之外可關閉(隱藏)目標區(qū)域,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue實現(xiàn)可拖拽的dialog彈框

    vue實現(xiàn)可拖拽的dialog彈框

    element的dialog彈框在項目中挺常用的。拖拽形式的彈框會提高用戶體驗,本文實現(xiàn)了vue可拖拽的dialog彈框,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • vue框架搭建之axios使用教程

    vue框架搭建之axios使用教程

    本文重點介紹axios如何配合vue搭建項目框架,文章給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • vue中使用keep-alive動態(tài)刪除已緩存組件方式

    vue中使用keep-alive動態(tài)刪除已緩存組件方式

    這篇文章主要介紹了vue中使用keep-alive動態(tài)刪除已緩存組件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • @vue/cli4.x版本的vue.config.js常用配置方式

    @vue/cli4.x版本的vue.config.js常用配置方式

    這篇文章主要介紹了@vue/cli4.x版本的vue.config.js常用配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論

汉源县| 卢龙县| 石首市| 通榆县| 威海市| 中阳县| 无极县| 鲜城| 石河子市| 古蔺县| 桦南县| 乌什县| 通城县| 沧州市| 奉节县| 溧水县| 乐山市| 海兴县| 万年县| 阳江市| 闻喜县| 嫩江县| 华蓥市| 贵定县| 东乡族自治县| 开封市| 太仓市| 山东| 岚皋县| 卓尼县| 利辛县| 蓬安县| 白玉县| 通化县| 通山县| 家居| 资溪县| 彰化市| 大邑县| 精河县| 扬中市|