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

vue?ElementUI級聯(lián)選擇器回顯問題解決

 更新時間:2022年09月15日 08:31:12   作者:RealPluto  
這篇文章主要介紹了vue?ElementUI級聯(lián)選擇器回顯問題解決,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

1. 分析問題

【問題描述】 使用 ElementUI 的 Cascader 級聯(lián)選擇器組件,如果使用了懶加載和動態(tài)加載數(shù)據(jù)會導(dǎo)致,在v-model中的數(shù)據(jù)據(jù)重新放到 Cascader 級聯(lián)組建后,會出現(xiàn)數(shù)據(jù)不回顯的問題。 【原因分析】 在級聯(lián)組件中雖然在v-model中重新傳入選中的數(shù)據(jù),但采用了懶加載+遠(yuǎn)程數(shù)據(jù)的方式構(gòu)建選項數(shù)據(jù),此時級聯(lián)組件的結(jié)構(gòu)數(shù)據(jù)并未生成,此時僅有選中后的數(shù)據(jù)而沒有選項數(shù)據(jù),因此導(dǎo)致了級聯(lián)選擇器沒有數(shù)據(jù)可供顯示,也就導(dǎo)致了數(shù)據(jù)不回顯的問題。 【解決方案】 ① 前端渲染完整的選項數(shù)據(jù),此方案需要前端渲染的數(shù)據(jù)量極大,可能導(dǎo)致頁面崩潰,不建議采用此方式處理; ② 僅渲染選中后的數(shù)據(jù),即僅構(gòu)建選中后的選項結(jié)構(gòu),后端返回的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理后依然可以配合懶加載+遠(yuǎn)程數(shù)據(jù)的方式(需要對渲染生成的數(shù)據(jù)進(jìn)行去重,避免和遠(yuǎn)程訪問的數(shù)據(jù)重復(fù))

2. 解決問題

借助Cascader 級聯(lián)選擇器組件的options屬性,構(gòu)建選項結(jié)構(gòu)配合v-model即可實現(xiàn)數(shù)據(jù)回顯,如果想配合懶加載+遠(yuǎn)程數(shù)據(jù),需要指定級聯(lián)組件的屬性信息。

{
  "label": "浙江省",
  "value": 12321
  "children": [{
      "label": "杭州市",
      "value": 4565
   }]
}

【實現(xiàn)方式】

<el-cascader
  v-model='data'
  :props='cascadeProps'
  :options='cascadeOptions'
  filterable
  ></el-cascader>
cascadeProps: {
  multiple: true,
    checkStrictly: true,
      // 啟用懶加載
      lazy: true,
        // 遠(yuǎn)程數(shù)據(jù)訪問
        lazyLoad: async (node, resolve) => {
          const { data, level} = node
          const parentCode = level === 0 ? '000' : data.nodeCode
          const nodes = await this.getRemoteData(parentCode, level)
          // 去除重復(fù)節(jié)點
          let nodeFilter = nodes.filter(n => {
            if (!this.optionList.includes(n.value)) {
              return n
            }
          })
          resolve(nodeFilter)
        },
},
getRemoteData(parentCode, level) {
  return new Promise((resolve, reject) => {
    getDistrictData({ parentCode }).then((res) => {
      resolve(this.formatData(res.data, level))
    })
  })
},

  formatData(data, level) {
    let districtType = ''
    switch (level) {
      case 0:
        districtType = 'province'
        break
      case 1:
        districtType = 'city'
        break
      case 2:
        districtType = 'district'
        break
      default:
        break
    }
    return data.map((item) => {
      return {
        districtType,
        nodeCode: item.nodeCode,
        value: item.districtId,
        label: item.name,
        leaf: level >= 2,
      }
    })
  },

到此這篇關(guān)于ElementUI級聯(lián)選擇器回顯問題解決的文章就介紹到這了,更多相關(guān)ElementUI選擇器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中的event bus非父子組件通信解析

    vue中的event bus非父子組件通信解析

    本篇文章主要介紹了 vue中的event bus非父子組件通信解析 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue具名插槽的基本使用實例

    vue具名插槽的基本使用實例

    Vue 中的插槽在開發(fā)組件的過程中其實是非常重要并且好用的。下面這篇文章主要給大家介紹了關(guān)于vue具名插槽基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • Vue項目中Websocket的使用實例

    Vue項目中Websocket的使用實例

    WebSocket就誕生了,它最大特點就是服務(wù)器可以主動向客戶端推送信息,客戶端也可以主動向服務(wù)器發(fā)送信息,是真正的雙向平等對話,下面這篇文章主要給大家介紹了關(guān)于Vue項目中Websocket使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • vue使用天地圖、openlayers實現(xiàn)多個底圖疊加顯示效果

    vue使用天地圖、openlayers實現(xiàn)多個底圖疊加顯示效果

    這篇文章主要介紹了vue使用天地圖、openlayers實現(xiàn)多個底圖疊加顯示,根據(jù)返回的經(jīng)緯度列表通過天地圖、openlayers實現(xiàn)底圖添加,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-04-04
  • Vue中實現(xiàn)動畫效果的多種方法小結(jié)

    Vue中實現(xiàn)動畫效果的多種方法小結(jié)

    平時我們能在網(wǎng)頁上看到很多動畫效果,這些效果看起來就很引人注目,我們是不是也可以在自己的項目中添加一些動畫效果,讓我們的頁面看起來更加的高端大氣上檔次,博人眼球,所以本文給大家介紹了Vue中實現(xiàn)動畫效果的多種方法,需要的朋友可以參考下
    2024-07-07
  • vue前端框架—Mint UI詳解(更適用于移動端)

    vue前端框架—Mint UI詳解(更適用于移動端)

    這篇文章主要介紹了vue前端框架—Mint UI的詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用idea創(chuàng)建vue項目的圖文教程

    使用idea創(chuàng)建vue項目的圖文教程

    Vue.js是一套構(gòu)建用戶界面的框架,只關(guān)注視圖層,它不僅易于上手,還便于與第三方庫或既有項目整合,下面這篇文章主要給大家介紹了關(guān)于使用idea創(chuàng)建vue項目的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue 根據(jù)選擇的月份動態(tài)展示日期對應(yīng)的星期幾

    vue 根據(jù)選擇的月份動態(tài)展示日期對應(yīng)的星期幾

    這篇文章主要介紹了vue 如何根據(jù)選擇的月份動態(tài)展示日期對應(yīng)的星期幾,幫助大家更好的利用vue框架處理日期需求,感興趣的朋友可以了解下
    2021-02-02
  • vue+elementUI 實現(xiàn)內(nèi)容區(qū)域高度自適應(yīng)的示例

    vue+elementUI 實現(xiàn)內(nèi)容區(qū)域高度自適應(yīng)的示例

    這篇文章主要介紹了vue+elementUI 實現(xiàn)內(nèi)容區(qū)域高度自適應(yīng)的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-09-09
  • element-ui中實現(xiàn)tree子節(jié)點部分選中時父節(jié)點也選中

    element-ui中實現(xiàn)tree子節(jié)點部分選中時父節(jié)點也選中

    這篇文章主要介紹了element-ui中實現(xiàn)tree子節(jié)點部分選中時父節(jié)點也選中的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論

察哈| 镇巴县| 辽源市| 剑阁县| 南部县| 伊川县| 甘谷县| 澄城县| 闵行区| 那坡县| 连城县| 巫山县| 呼和浩特市| 舞钢市| 海安县| 兴仁县| 道真| 资兴市| 永靖县| 循化| 华宁县| 澳门| 密山市| 岢岚县| 高邮市| 阿图什市| 昭苏县| 永修县| 思南县| 磴口县| 龙州县| 苏尼特右旗| 永仁县| 潢川县| 白银市| 江永县| 涿州市| 山丹县| 榆社县| 类乌齐县| 灵川县|