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

Vue el-table表頭上引入組件不能實(shí)時(shí)傳參解決方法分析

 更新時(shí)間:2022年11月30日 09:33:46   作者:@樂(lè)知者@  
這篇文章主要介紹了Vue el-table表頭上引入組件不能實(shí)時(shí)傳參解決方法,總的來(lái)說(shuō)這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過(guò)程。希望通過(guò)這道題能給你帶來(lái)一種解題優(yōu)化的思路

場(chǎng)景還原

產(chǎn)品要求:點(diǎn)擊表格的表頭,能觸發(fā)一個(gè)下拉的列表,列表能攜帶表格的篩選條件,獲取相應(yīng)的數(shù)據(jù)

寫(xiě)了一個(gè)demo,來(lái)還原一下bug出現(xiàn)的場(chǎng)景:

<div id="demo">
  <el-table
    :data="tableData"
    style="width: 100%"
  >
    <el-table-column
      prop="date"
      label="日期"
      width="180"
    ></el-table-column>
    <el-table-column
      prop="address"
      label="地址"
      width="180"
    >
      <template slot="header">
        <city-component
          :params="paramsData"
        ></city-component>
      </template>
    </el-table-column>
  </el-table>
</div>
data: {
        tableData: [], // 表格數(shù)據(jù)
        paramsData: {} // 傳遞給組件的數(shù)據(jù)
    },
    methods: {
      // 改變paramsData函數(shù)
      changeParamsDataFn() {
        this.paramsData = date.now().getTime();
      }
    }

在el-table表格的表頭中,引入組件 city-component,需要將數(shù)據(jù)paramsData傳遞給組件使用。

第一次進(jìn)入頁(yè)面時(shí),paramsData第一次被初始化賦值,DOM渲染el-table完成后,是可以正常使用;但若是需要更改paramsData的值,并且同步傳遞給city-component組件使用時(shí),打印paramsData的值,是可以看到改值的變化,但是組件卻無(wú)法接受到變化后的paramsData的值

解決方法

(1)給el-table加上一個(gè) :key=tableKeyValue

(2)在改變paramsData后,改變 tableKeyValue的值

<el-table
   :key="tableKeyValue"          
>
<!-- 其他跟上面一致 -->
</el-table>
methods: {
    changeParamsDataFn() {
        this.tableKeyValue = "city" + date.noe();
    }
}

出現(xiàn)原因

這就得先說(shuō)說(shuō),Vue的渲染機(jī)制:虛擬DOM+diff算法

  • 根據(jù)初始DOM生成舊虛擬DOM;所以使用虛擬DOM的缺點(diǎn)之一便是第一次打開(kāi)頁(yè)面,需要更多的時(shí)間
  • 當(dāng)有了修改數(shù)據(jù)的操作時(shí),便會(huì)生成新的DOM樹(shù)
  • diff算法就會(huì)比較新/舊DOM樹(shù),找出變更的DOM
  • 將改動(dòng)的DOM,渲染成真實(shí)的DOM;有個(gè)優(yōu)點(diǎn)便是,每次變更DOM,不需要從頭到尾查詢每一個(gè)DOM,只需要找出變更的地方就可

因?yàn)楸砀竦腄OM沒(méi)有變化,數(shù)據(jù)改變后,修改后的DOM與原來(lái)的DOM一致,無(wú)法重新渲染表格。雖然我們能打印出數(shù)據(jù)的變化,但是無(wú)法將數(shù)據(jù)傳入組件。

加上key值,是為了數(shù)據(jù)改變的同時(shí),改變table的key值,diff算法就能找出前后表格DOM的不同,就能重新渲染表格,重新把值傳入組件

似乎也可以將key值,加在引入組件的單元格上,沒(méi)有真正寫(xiě)過(guò),下次遇到這類(lèi)問(wèn)題可以試試

到此這篇關(guān)于Vue el-table表頭上引入組件不能實(shí)時(shí)傳參解決方法分析的文章就介紹到這了,更多相關(guān)Vue el-table引入組件實(shí)時(shí)傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談vue的踩坑路

    淺談vue的踩坑路

    下面小編就為大家?guī)?lái)一篇淺談vue的踩坑路。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • vue項(xiàng)目中監(jiān)聽(tīng)手機(jī)物理返回鍵的實(shí)現(xiàn)

    vue項(xiàng)目中監(jiān)聽(tīng)手機(jī)物理返回鍵的實(shí)現(xiàn)

    這篇文章主要介紹了vue項(xiàng)目中監(jiān)聽(tīng)手機(jī)物理返回鍵的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 去除element-ui下拉框的下拉箭頭的實(shí)現(xiàn)

    去除element-ui下拉框的下拉箭頭的實(shí)現(xiàn)

    我們最開(kāi)始拿到的element-ui是帶有下拉箭頭的,那么如何去除element-ui下拉框的下拉箭頭的實(shí)現(xiàn),本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2023-08-08
  • 使用vue-cli腳手架工具搭建vue-webpack項(xiàng)目

    使用vue-cli腳手架工具搭建vue-webpack項(xiàng)目

    這篇文章主要介紹了使用vue-cli腳手架工具搭建vue-webpack項(xiàng)目,通過(guò)幾個(gè)默認(rèn)的步驟幫助你快速的構(gòu)建Vue.js項(xiàng)目。非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2019-01-01
  • Element使用el-table組件二次封裝

    Element使用el-table組件二次封裝

    這篇文章主要為大家介紹了Element使用el-table組件二次封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解

    vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解

    這篇文章主要介紹了vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • vue實(shí)現(xiàn)離線地圖+leaflet+高德瓦片的詳細(xì)代碼

    vue實(shí)現(xiàn)離線地圖+leaflet+高德瓦片的詳細(xì)代碼

    這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)離線地圖+leaflet+高德瓦片的詳細(xì)代碼,Vue Leaflet是一種結(jié)合了Vue框架和Leaflet庫(kù)的前端技術(shù),用于展示和操作天地圖,需要的朋友可以參考下
    2023-10-10
  • vue綁定設(shè)置屬性的多種方式(5)

    vue綁定設(shè)置屬性的多種方式(5)

    這篇文章主要為大家詳細(xì)介紹了vue綁定設(shè)置屬性的多種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vue-router中query取值的坑及解決

    vue-router中query取值的坑及解決

    這篇文章主要介紹了vue-router中query取值的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue打包后訪問(wèn)靜態(tài)資源路徑問(wèn)題

    Vue打包后訪問(wèn)靜態(tài)資源路徑問(wèn)題

    在本篇文章里小編給各位整理的是關(guān)于Vue打包后訪問(wèn)靜態(tài)資源路徑問(wèn)題相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-11-11

最新評(píng)論

青冈县| 宾阳县| 普安县| 耒阳市| 阜康市| 博野县| 五莲县| 潢川县| 美姑县| 汉源县| 合山市| 屯昌县| 宜阳县| 鄂州市| 桓台县| 衡山县| 金门县| 定兴县| 石家庄市| 溧水县| 辽宁省| 崇礼县| 扎兰屯市| 秦皇岛市| 渭南市| 光山县| 穆棱市| 澜沧| 通江县| 怀宁县| 赣榆县| 加查县| 宁陵县| 香河县| 海晏县| 绵竹市| 鄂托克前旗| 武山县| 海南省| 东乡| 南陵县|