国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線

這篇具有很好參考價值的文章主要介紹了VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

步驟:

定義模板(做循環(huán)遍歷處理):

<template>
          <div class="container">
            <el-card v-for="(item,index) in routeList" :key="index" class="routeList-box">
              <!-- <el-collapse v-model="activeNames">
              <el-collapse-item :title="item.title" :name="index"> -->
              <el-tree
                ref="tree"
                class="el-tree"
                show-checkbox
                node-key="id"
                :indent="0"
                :data="item.list"
                :props="defaultProps"
                :highlight-current="true"
                :default-expand-all="true"
                :render-content="renderContent"
                @node-expand="handleExpand"
              />
              <!--:indent="0"為相鄰級節(jié)點間的水平縮進(jìn),單位為像素,如果要加指示線需設(shè)置為0,否則縮進(jìn)會很大-->
              <!-- </el-collapse-item>
              </el-collapse> -->
            </el-card>
          </div>
        </template>

tree的參數(shù)說明請參考官方文檔el-tree
定義模板數(shù)據(jù):

data() {
	return {
		routeList: [
        {
          // title: '授權(quán)管理后臺',
          list: [
            {
              id: 1,
              label: '工程管理', //一級控件
              children: [
                {
                  id: 2,
                  label: '物料管理', //二級控件
                  children: [
                    {
                      id: 4,
                      label: '列表查看', //三級控件
                      // children: [
                      //   {
                      //     id: 7,
                      //     label: '頁面查看權(quán)限' //四級控件
                      //   },
                      //   {
                      //     id: 8,
                      //     label: '編輯'
                      //   }
                      // ]
                    },
                    {
                      id: 5,
                      label: '查詢',
                      // children: [
                      //   {
                      //     id: 9,
                      //     label: '次數(shù)分布child1'
                      //   },
                      //   {
                      //     id: 10,
                      //     label: '次數(shù)分布child2'
                      //   }
                      // ]
                    }
                  ]
                },
                {
                  id: 3,
                  label: '工藝流程管理',
                  children: [
                    {
                      id: 6,
                      label: '列表查看',
                      // children: [
                      //   {
                      //     id: 7,
                      //     label: '頁面查看權(quán)限'
                      //   }
                      // ]
                    },
                    {
                      id: 7,
                      label: '查詢',
                      // children: [
                      //   {
                      //     id: 7,
                      //     label: '頁面查看權(quán)限'
                      //   }
                      // ]
                    }
                  ]
                }
              ]
            },
            {
              id: 111,
              label: '銷售管理',
              children: [
                {
                  id: 112,
                  label: '訂單管理',
                  children: [
                    {
                      id: 113,
                      label: '列表查看'
                    },
                    {
                      id: 114,
                      label: '查詢'
                    },
                    {
                      id: 114,
                      label: '重置'
                    },
                    {
                      id: 114,
                      label: '復(fù)選框'
                    },
                    {
                      id: 114,
                      label: '新增訂單'
                    },
                    {
                      id: 114,
                      label: '導(dǎo)出'
                    },
                    {
                      id: 114,
                      label: '打印'
                    },
                    {
                      id: 114,
                      label: '操作'
                    },
                    {
                      id: 114,
                      label: '訂單詳情'
                    },
                    {
                      id: 114,
                      label: '編輯'
                    },
                    {
                      id: 114,
                      label: '作廢'
                    },
                    {
                      id: 114,
                      label: '出庫'
                    },
                    {
                      id: 114,
                      label: '結(jié)束'
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      defaultProps: {
        children: 'children',
        label: 'label'
      }
	}
}

js部分:

mounted() {
    this.changeCss() //默認(rèn)調(diào)用此方法將子節(jié)點渲染為橫向排列
  },
methods: {
	handleExpand() { // 節(jié)點被展開時觸發(fā)的事件
      // 因為該函數(shù)執(zhí)行在renderContent函數(shù)之前,所以得加this.$nextTick()
     	this.$nextTick(() => {
        this.changeCss()
      })
    },
    renderContent(h, { node, data, store }) { // 樹節(jié)點的內(nèi)容區(qū)的渲染 Function
	  let classname = ''
      // 由于項目中有三級菜單也有四級級菜單,就要在此做出判斷
      if (node.level === 4) {
        classname = 'foo'
      }
      if (node.level === 3 && node.childNodes.length === 0) {
        classname = 'foo'
      }
      return h(
        'p',
        {
          class: classname
        },
        node.label
      )
    },
    changeCss() { //將子節(jié)點橫向排列方法
      var levelName = document.getElementsByClassName('foo') // levelname是上面的最底層節(jié)點的名字
      for (var i = 0; i < levelName.length; i++) {
        // cssFloat 兼容 ie6-8  styleFloat 兼容ie9及標(biāo)準(zhǔn)瀏覽器
        levelName[i].parentNode.style.cssFloat = 'left' // 最底層的節(jié)點,包括多選框和名字都讓他左浮動
        levelName[i].parentNode.style.styleFloat = 'left'
        levelName[i].parentNode.onmouseover = function() {
          this.style.backgroundColor = '#fff'
        }
      }
    }
}

指示線樣式部分:

<style scoped lang="scss">
// 樹樣式
.el-tree{
  ::v-deep .el-tree-node{
    position: relative;
    padding-left: 16px; // 縮進(jìn)量
  }
  ::v-deep .el-tree-node__children{
    padding-left: 16px; // 縮進(jìn)量
  }
  // 豎線
  ::v-deep .el-tree-node::before{
    content:"";
    height: 100%;
    width: 1px;
    position: absolute;
    left: -3px;
    top: -26px;
    border-width: 1px;
    border-left: 1px dashed #ccc;
  }
  // 當(dāng)前層最后?個節(jié)點的豎線?度固定
  ::v-deep .el-tree-node:last-child::before{
    height: 38px; // 可以??調(diào)節(jié)到合適數(shù)值
  }
  // 橫線
  ::v-deep .el-tree-node::after{
    content:"";
    width: 24px;
    height: 20px;
    position: absolute;
    left: -3px;
    top: 12px;
    border-width: 1px;
    border-top: 1px dashed #ccc;
  }
  // 去掉最頂層的虛線,放最下?樣式才不會被上?的覆蓋了
  & > ::v-deep .el-tree-node::after{
    border-top: none;
  }
  & > ::v-deep .el-tree-node::before{
    border-left: none;
  }
  // 展開關(guān)閉的icon
  ::v-deep .el-tree-node__expand-icon{
    font-size: 16px;
    // 葉?節(jié)點(??節(jié)點)
    ::v-deep &.is-leaf{
      color: transparent;
      // display: none; // 也可以去掉
    }
  }
}
</style>

實際效果:

VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線
VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線
VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線文章來源地址http://www.zghlxwxcb.cn/news/detail-511941.html

到了這里,關(guān)于VUE element-ui之el-tree樹形控件循環(huán)遍歷渲染dom節(jié)點;子節(jié)點橫向排列;控件添加指示線的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • element-ui樹形控件(tree)

    1.基礎(chǔ)用法 通過:data綁定了數(shù)據(jù)源,通過:props綁定了屬性綁定對象,其中l(wèi)abel代表著我們看到的是哪個屬性對應(yīng)的值,children代表父子節(jié)點通過哪個屬性實現(xiàn)嵌套的 2.為樹形控件添加show-checkbox屬性,可實現(xiàn)復(fù)選框效果。如果要求選中的是文本對應(yīng)的id值,而不是文本值本身???/p>

    2024年02月13日
    瀏覽(96)
  • element ui el-tree控制樹形結(jié)構(gòu)全選、取消全選,展開收起

    element ui el-tree控制樹形結(jié)構(gòu)全選、取消全選,展開收起

    控制樹形結(jié)構(gòu)全選、取消全選,展開收起? ?

    2024年02月11日
    瀏覽(21)
  • Element-UI定制化Tree 樹形控件

    Element-UI定制化Tree 樹形控件

    說明:復(fù)制Tree樹形控件。 說明:每一個label前面都有一個定制圖標(biāo) 或者 ? ? 說明: 將默認(rèn)箭頭形式變成加號形式。 ? ? ?

    2024年02月04日
    瀏覽(165)
  • [element-ui] el-tree全部展開與收回

    參考: el-tree全部展開與收回

    2024年02月10日
    瀏覽(85)
  • [element-ui] el-tree 懶加載load

    懶加載:點擊節(jié)點時才進(jìn)行該層數(shù)據(jù)的獲取。 注意:使用了懶加載之后,一般情況下就可以不用綁定:data。 懶加載—由于在點擊節(jié)點時才進(jìn)行該層數(shù)據(jù)的獲取,默認(rèn)情況下 Tree 無法預(yù)知某個節(jié)點是否為葉子節(jié)點,所以會為每個節(jié)點添加一個下拉按鈕,如果節(jié)點沒有下層數(shù)據(jù),

    2024年02月11日
    瀏覽(98)
  • Element-UI控件Tree實現(xiàn)數(shù)據(jù)樹形結(jié)構(gòu)

    Element-UI控件Tree實現(xiàn)數(shù)據(jù)樹形結(jié)構(gòu)

    ? ? ? ? 在前端開發(fā)中,有時會遇到所有菜單數(shù)據(jù)在同一級的情況,后端未對數(shù)據(jù)進(jìn)行分級處理;但前端渲染需要是樹狀結(jié)構(gòu)的數(shù)據(jù),如何實現(xiàn)數(shù)據(jù)的樹狀化?將數(shù)組中通過父節(jié)點的ID與子節(jié)點的parentId關(guān)聯(lián),通過遞歸函數(shù)來實現(xiàn)。 ? ? ? ? 前端框架這里使用element-ui的tree控件

    2024年02月05日
    瀏覽(515)
  • 在Vue3+ElementPlus項目中使用具有懶加載的el-tree樹形控件

    在Vue3+ElementPlus項目中使用具有懶加載的el-tree樹形控件

    有時遇到一些需求就是在使用樹形控件時,服務(wù)端并沒有一次性返回所有數(shù)據(jù),而是返回首層節(jié)點列表。然后點擊展開首層節(jié)點中的某個節(jié)點,再去請求該節(jié)點的子節(jié)點列表,那么就得用上懶加載的機(jī)制了。在此以ElementPlus的樹形控件為例,實現(xiàn)一個具有懶加載的樹形控件的

    2024年02月06日
    瀏覽(30)
  • 78.(前端)分配權(quán)限頁面顯示——樹形結(jié)構(gòu)使用(Element-ui的Tree樹形控件)

    78.(前端)分配權(quán)限頁面顯示——樹形結(jié)構(gòu)使用(Element-ui的Tree樹形控件)

    在前端的操作中,應(yīng)該增加修改、刪除、分配權(quán)限的操作 這次主要是實現(xiàn)分配權(quán)限的顯示?。。。。?! 更換icon圖標(biāo),并設(shè)計大小 綁定函數(shù),點擊彈出提示框(DIalog對話框) 在對話框內(nèi),應(yīng)該顯示一個樹形結(jié)構(gòu)提供選擇(Tree樹形控件) 初始化樹形結(jié)構(gòu),并填充數(shù)據(jù)

    2024年02月05日
    瀏覽(87)
  • element-ui el-tree 設(shè)置指定級別節(jié)點顯示復(fù)選框el-checkbox

    element-ui el-tree 設(shè)置指定級別節(jié)點顯示復(fù)選框el-checkbox

    ? ? ? ? /deep/ .el-tree { ? ? ? ? padding-top: 15px; ? ? ? ? padding-left: 10px; ? ? ? ? // 不可全選樣式 ? ? ? ? .el-tree-node { ? ? ? ? ? .is-leaf + .el-checkbox .el-checkbox__inner { ? ? ? ? ? ? display: inline-block; ? ? ? ? ? } ? ? ? ? ? .el-checkbox .el-checkbox__inner { ? ? ? ? ? ? display: none; ? ?

    2023年04月08日
    瀏覽(103)
  • Element-UI實現(xiàn)的下拉搜索樹組件(el-select、el-input、el-tree組合使用)

    Element-UI實現(xiàn)的下拉搜索樹組件(el-select、el-input、el-tree組合使用)

    1、子組件封裝 注意使用:正常使用 // 子組件使用 父組件調(diào)用

    2024年02月11日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包