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

vue2+elementUI的el-tree的選中、高亮、定位功能的實現(xiàn)

 更新時間:2022年09月19日 09:42:08   作者:懶啦  
這篇文章主要介紹了vue2+elementUI的el-tree的選中、高亮、定位功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在使用無選擇框的el-tree時遇到的坑以及如何使用el-tree

最后附全部代碼

    ref="tree" ----> 必須寫
    accordion ----> 是否每次只打開一個同級樹節(jié)點展開 看個人選擇
    default-expand-all ----> 默認(rèn)打開全部節(jié)點
    :data="leftData"  ----> 必寫 展示數(shù)據(jù)
    @node-click="handleNodeClick" ----> 節(jié)點被點擊時的回調(diào)
    node-key="listId"  ----> 設(shè)置選中的數(shù)據(jù) 必須寫 注意不要寫 ':' 我當(dāng)時就是寫了 找錯找了得有好幾個小時 哭死
    :current-node-key="currentNodeKey" ----> 設(shè)置選中必須寫
    :highlight-current="true" ----> 設(shè)置高亮 必須寫
    :props="defaultProps" ----> 可以配置節(jié)點標(biāo)簽的屬性值

props的配置

在這里插入圖片描述

HTML部分

    <el-tree
      ref="tree"
      default-expand-all
      :data="data"
      @node-click="handleNodeClick"
      node-key="id"
      :current-node-key="currentNodeKey"
      :highlight-current="true"
      :props="defaultProps"
    >
      <span class="custom-tree-node" slot-scope="{ node, data }">
        <span :id="data.id">{{ node.label }}</span>
      </span>
    </el-tree>
    <el-button @click="nodeClick1" type="primary">點擊后選中id為006的</el-button>

JS部分

<script>
export default {
  data() {
    return {
      data: [
        {
          id: 1,
          name: "一級 1",
          children: [
            {
              id: 4,
              name: "二級 1-1",
              children: [
                {
                  id: 9,
                  name: "三級 1-1-1",
                },
                {
                  id: 10,
                  name: "三級 1-1-2",
                },
              ],
            },
          ],
        },
        {
          id: 2,
          name: "一級 2",
          children: [
            {
              id: "005",
              name: "二級 2-1",
            },
            {
              id: "006",
              name: "二級 2-2",
            },
          ],
        },
        {
          id: 3,
          name: "一級 3",
          children: [
            {
              id: 7,
              name: "二級 3-1",
            },
            {
              id: 8,
              name: "二級 3-2",
              children: [
                {
                  id: 11,
                  name: "三級 3-2-1",
                },
                {
                  id: 12,
                  name: "三級 3-2-2",
                },
                {
                  id: 13,
                  name: "三級 3-2-3",
                },
              ],
            },
          ],
        },
      ],
      defaultProps: {
        children: "children",
        label: "name",
      },
      currentNodeKey: "",
    };
  },
   watch: {
    currentNodeKey(newVal) {
      if (newVal.toString()) {
        this.$refs["tree"].setCurrentKey(newVal);
      } else {
        this.$refs["tree"].setCurrentKey(null);
      }
    },
  },
  methods: {
    // 點擊節(jié)點
    handleNodeClick(data,node){
      this.currentNodeKey = data.id;
      // 判斷點擊的層級進行操作
      if(node.level == 1){
        console.log('第一層data1',data);
        console.log('第一層node1',node);
      }else if(node.level == 2){
        console.log('第二層data2',data);
        console.log('第二層node2',node);
      }else if(node.level == 3){
        console.log('第三層data3',data);
        console.log('第三層node3',node);
      }
    },

    nodeClick1(){
      // 點擊選中006號
      this.$refs.tree.setCurrentKey('006'); 
    },

    // 如果數(shù)據(jù)過多可以調(diào)用這個方法并傳入要顯示的id
    //滾動到選中定位的位置
    selectedRegion(id) {
      console.log("滾動到選中定位的位置");
      // 通過Id獲取到對應(yīng)的dom元素
      const node = document.getElementById(id);
      setTimeout(() => {
        if (node) {
          this.$nextTick(() => {
            // 通過scrollIntoView方法將對應(yīng)的dom元素定位到可見區(qū)域 【block: 'center'】這個屬性是在垂直方向居中顯示
            node.scrollIntoView({ block: "center" });
          });
        }
      }, 100);
    },
  },
};
</script>

修改樣式

<style scoped>
/*  點擊時的樣式 */
.el-tree ::v-deep.el-tree-node:focus > .el-tree-node__content {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
/* tree 的高度和寬度重新定義 */
::v-deep.el-tree .el-tree-node > .el-tree-node__content {
  width: 300px;
  height: 40px;
}
/*  鼠標(biāo)hover改變背景顏色 */
.el-tree ::v-deep.el-tree-node > .el-tree-node__content:hover {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
/*  顏色高亮 */
::v-deep.el-tree--highlight-current
  .el-tree-node.is-current
  > .el-tree-node__content {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
</style>

附上全部代碼

<style scoped>
/*  點擊時的樣式 */
.el-tree ::v-deep.el-tree-node:focus > .el-tree-node__content {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
/* tree 的高度和寬度重新定義 */
::v-deep.el-tree .el-tree-node > .el-tree-node__content {
  width: 300px;
  height: 40px;
}
/*  鼠標(biāo)hover改變背景顏色 */
.el-tree ::v-deep.el-tree-node > .el-tree-node__content:hover {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
/*  顏色高亮 */
::v-deep.el-tree--highlight-current
  .el-tree-node.is-current
  > .el-tree-node__content {
  background-color: #edf3fc !important;
  border-radius: 8px;
}
</style>

到此這篇關(guān)于vue2+elementUI的el-tree的選中、高亮、定位的文章就介紹到這了,更多相關(guān)vue2 elementUI選中、高亮、定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用vNode實現(xiàn)給列表字段打標(biāo)簽

    使用vNode實現(xiàn)給列表字段打標(biāo)簽

    這篇文章主要為大家介紹了使用vNode實現(xiàn)給列表字段打標(biāo)簽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • vue?Router(v3.x)?路由傳參的三種方式場景分析

    vue?Router(v3.x)?路由傳參的三種方式場景分析

    vue?路由傳參的使用場景一般都是應(yīng)用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn),傳參方式可劃分為?params?傳參和?query?傳參,而?params?傳參又可分為在?url?中顯示參數(shù)和不顯示參數(shù)兩種方式,這就是vue路由傳參的三種方式,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • vue-rx的初步使用教程

    vue-rx的初步使用教程

    這篇文章主要介紹了vue-rx的初步使用教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue3中封裝axios請求最新實現(xiàn)步驟

    vue3中封裝axios請求最新實現(xiàn)步驟

    這篇文章主要給大家介紹了關(guān)于vue3中封裝axios請求的最新實現(xiàn)步驟,在Vue 3中可以通過封裝axios來實現(xiàn)接口的統(tǒng)一管理和調(diào)用,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 在vue中實現(xiàn)iframe嵌套Html頁面及注意事項說明

    在vue中實現(xiàn)iframe嵌套Html頁面及注意事項說明

    這篇文章主要介紹了在vue中實現(xiàn)iframe嵌套Html頁面及注意事項說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue Element UI + OSS實現(xiàn)上傳文件功能

    Vue Element UI + OSS實現(xiàn)上傳文件功能

    這篇文章主要為大家詳細(xì)介紹了Vue Element UI + OSS實現(xiàn)上傳文件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 深入了解Vue中單向數(shù)據(jù)流的原理與管理

    深入了解Vue中單向數(shù)據(jù)流的原理與管理

    在Vue中,數(shù)據(jù)流是指數(shù)據(jù)的傳遞和管理方式,而Vue采用的是單向數(shù)據(jù)流,所以這篇文章就來就來和大家講講什么是Vue的數(shù)據(jù)流以及如何進行數(shù)據(jù)流管理,感興趣的可以了解一下
    2023-06-06
  • vue2 router 動態(tài)傳參,多個參數(shù)的實例

    vue2 router 動態(tài)傳參,多個參數(shù)的實例

    下面小編就為大家?guī)硪黄獀ue2 router 動態(tài)傳參,多個參數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • vue3中的:deep()深度選擇器詳解

    vue3中的:deep()深度選擇器詳解

    本文講述了"v-deep"深度選擇器被廢棄的情況,作者提醒讀者更新知識庫,避免誤導(dǎo)他人,深度選擇器是HTML5的新屬性,用于實現(xiàn)組件私有化和防止樣式污染,如果想讓樣式中的一個選擇器作用得更深,可以使用深度選擇器,但現(xiàn)在,以前的寫法已不再支持,需要調(diào)整方法
    2024-10-10
  • vue對象的深度克隆方式

    vue對象的深度克隆方式

    這篇文章主要介紹了vue對象的深度克隆方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論

太湖县| 镇赉县| 皮山县| 泰兴市| 瑞安市| 滁州市| 伊宁县| 卓资县| 崇州市| 绥滨县| 太原市| 乡城县| 银川市| 屯昌县| 卢氏县| 日喀则市| 广西| 沿河| 旬阳县| 南漳县| 防城港市| 丰顺县| 博白县| 东阳市| 长白| 新闻| 宜都市| 仙桃市| 五指山市| 双峰县| 吉木乃县| 岑巩县| 广河县| 余庆县| 革吉县| 龙胜| 吉水县| 九龙坡区| 古田县| 兴隆县| 普兰店市|