element el-tree懶加載

  <el-tree
                               :props="props"
                               :load="loadNode"
                               lazy
                               node-key="areaId"
                               :expand-on-click-node="false"
                               ref="asyncTree"
                               @check-change="handleCheckChange"
                               @node-click="hadleNodeClick">
      <span class="custom-tree-node" slot-scope="{ node, data }">
        <span style="display: inline-block;margin-right: 10px">{{ node.label }}</span>
        <span v-if="data.areaId !='root'">
          <el-button
                  type="text"
                  size="medium"
                  @click="() => append(data)">
            新增下級
          </el-button>
               <el-button
                       type="text"
                       size="medium"
                       @click="() => edit(node,data)">
            修改
          </el-button>
          <el-button
                  type="text"
                  size="mini"
                  @click="() => remove(node, data)">
            刪除
          </el-button>
        </span>
      </span>
                       </el-tree>

其中 node-key 綁定值為唯一的id,點擊時獲取到的也是這個值。

props: {
                    label: 'areaName',
                    children: 'zones',
                    isLeaf: 'ext1',
                },

props 綁定的值中,label對應的是顯示的文字,isleaf對應為是否有子節(jié)點(true/fasle)

    loadNode(node, resolve) {
                if (node.level === 0) {
                    let obj = {
                    }
                    this.findAreaByParentId(obj,resolve)
                }
                if (node.level > 0) {
                    let obj = {
                        "parentId": node.data.areaId,
                        "areaName":node.data.areaName,
                        "subCode":node.data.subCode,
                        "areaNumber":node.data.areaNumber
                    }
                    this.findAreaByParentId(obj,resolve)
                }
            },

loadNode 方法當level的值為0時是第一次默認請求,大于0時是點擊時的請求,我這里將resolve作為參數(shù),傳遞給了請求,然后將請求后得到的數(shù)據(jù)resolve出去

 findAreaByParentId(obj,resolve){
               findAreaByParentId(obj).then(data => {
                   if(data.responseCode =='1000'){
                       data.content.forEach(item=>{
                           item.ext1 = item.ext1 == 0 ? false: true
                       })
                       resolve(data.content);
                   }
               }).catch(error => {

               });
           },
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 正如Ant Design 官方介紹: "在中臺產品的研發(fā)過程中,會出現(xiàn)不同的設計規(guī)范和實現(xiàn)方式,但其中往往存在很多...
    sunnyghx閱讀 4,322評論 1 2
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,678評論 0 7
  • 好像女孩子一過二十五歲,爸媽就特別著急,尤其是當你快接近三十歲,那恨不得讓你隨便找個男的將就一下就湊合一輩...
    漓墨醬閱讀 237評論 0 1
  • 我一直以為人是慢變老的 其實不是 人是一瞬間變老的 滿懷希望的人往往易于沖動 一旦失望了 反而到冷靜了 人有時候真...
    孤島春夏閱讀 10,027評論 2 57
  • 【今日學習】 一、走進佛學 佛學基礎課,不是信仰上的真理,而是事實和思辨性的知識,是佛學,不是佛教。 1. 佛學影...
    落花吟閱讀 509評論 3 1

友情鏈接更多精彩內容