欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年09月15日 08:31:12   作者:RealPluto  
這篇文章主要介紹了vue?ElementUI級聯(lián)選擇器回顯問題解決,文章圍繞主題展開詳細的內(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ù),但采用了懶加載+遠程數(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)進行處理后依然可以配合懶加載+遠程數(shù)據(jù)的方式(需要對渲染生成的數(shù)據(jù)進行去重,避免和遠程訪問的數(shù)據(jù)重復(fù))

2. 解決問題

借助Cascader 級聯(lián)選擇器組件的options屬性,構(gòu)建選項結(jié)構(gòu)配合v-model即可實現(xiàn)數(shù)據(jù)回顯,如果想配合懶加載+遠程數(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,
        // 遠程數(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之常用的內(nèi)置指令詳解

    Vue之常用的內(nèi)置指令詳解

    這篇文章主要為大家介紹了Vue之常用的內(nèi)置指令,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Vue核心概念Getter的使用方法

    Vue核心概念Getter的使用方法

    今天小編就為大家分享一篇關(guān)于Vue核心概念Getter的使用方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • VUE?項目如何使用?Docker+Nginx進行打包部署

    VUE?項目如何使用?Docker+Nginx進行打包部署

    使用?Docker,你可以創(chuàng)建一個包含?Vue.js?應(yīng)用程序的容器鏡像,并在任何支持?Docker?的環(huán)境中運行該鏡像,這篇文章主要介紹了VUE?項目用?Docker+Nginx進行打包部署,需要的朋友可以參考下
    2024-06-06
  • Vue中使用ECharts與v-if的問題和解決方案

    Vue中使用ECharts與v-if的問題和解決方案

    在Vue項目中使用v-if指令控制ECharts圖表顯示時,可能會遇到圖表無法正常渲染或顯示錯誤的問題,下面這篇文章主要介紹了Vue中使用ECharts與v-if的問題和解決方案,需要的朋友可以參考下
    2024-10-10
  • vue中各種deep的區(qū)別解析

    vue中各種deep的區(qū)別解析

    在Vue3中,推薦使用::deep作為深度選擇器,它比Vue2中的::v-deep語法更簡潔,::v-deep、::deep、:deep()、&gt;&gt;&gt;和/deep/都是用于穿透組件作用域的選擇器,但Vue3更傾向于使用::deep或:deep(),感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • vue下拉列表的兩種實現(xiàn)方式比較

    vue下拉列表的兩種實現(xiàn)方式比較

    這篇文章主要介紹了vue下拉列表的兩種實現(xiàn)方式比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Vue-Element-Admin前端接入SSO的方法步驟

    Vue-Element-Admin前端接入SSO的方法步驟

    本文主要介紹了Vue-Element-Admin前端接入SSO的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 基于Vue sessionStorage實現(xiàn)保留搜索框搜索內(nèi)容

    基于Vue sessionStorage實現(xiàn)保留搜索框搜索內(nèi)容

    這篇文章主要介紹了基于Vue sessionStorage實現(xiàn)保留搜索框搜索內(nèi)容,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • vue中的vue-print-nb如何實現(xiàn)頁面打印

    vue中的vue-print-nb如何實現(xiàn)頁面打印

    這篇文章主要介紹了vue中的vue-print-nb如何實現(xiàn)頁面打印,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue 按照創(chuàng)建時間和當前時間顯示操作(剛剛,幾小時前,幾天前)

    Vue 按照創(chuàng)建時間和當前時間顯示操作(剛剛,幾小時前,幾天前)

    這篇文章主要介紹了Vue 按照創(chuàng)建時間和當前時間顯示操作(剛剛,幾小時前,幾天前),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論