使用el-tree實現自定義樹結構樣式

實現效果:

直接上代碼:

<template><div><div class="tops"><el-tree  :default-expanded-keys="['1']" ref="myTree" :data="data" :props="defaultProps" @node-click="handleNodeClick" highlight-current node-key="value"><span class="custom-tree-node" slot-scope="{ node, data }"><i v-if="node.level == 1" class="father" /><i v-else-if="node.level == 2" class="son" /><i v-else-if="node.level == 3" />{{ data.label }}</span></el-tree></div></div>
</template><script>
let that=thisexport default {data() {return {data: [{label: '1號生活區',value:'1',isShow:true,//當前折疊部分是否打開children: [{label: '1號樓',value:'1-1',},{label: '2號樓',value:'1-2',},{label: '3號樓',value:'1-3',},{label: '4號樓',value:'1-4',},]}, {label: '2號生活區',value:'2',isShow:false,children: [{label: '1號樓',value:'2-1',},{label: '2號樓',value:'2-2'},]}, {label: '3號生活區',value:'3',isShow:false,children: [{label: '1號樓',value:'3-1',},{label: '2號樓',value:'3-2',},{label: '3號樓',value:'3-3',},]},{label: '4號生活區',value:'4',isShow:false,children: [{label: '1號樓',value:'4-1',},{label: '2號樓',value:'4-2',},{label: '3號樓',value:'4-3',},]}],defaultProps: {children: 'children',label: 'label'},value1: '',value2:'',};},methods: {handleNodeClick(data) {this.$emit('treesVal',data)}, },mounted () {this.$nextTick(function () {this.$nextTick(() => {// myTree 數組件的ref  默認讓第一項高亮 // data是樹組件對應的數據// 通過data中的第一項的id找到對應的節點,然后把這個節點設置為高亮this.$refs.myTree.setCurrentKey(this.data[0].value)});});},};
</script><style lang="scss" scoped>
@import '@/style/util.scss';
.tops{width: vw(260);height: 100%;background-color: #fff;margin: 0 auto;padding:0 vw(8);box-shadow: 0 vw(2) vw(10) 0 rgba(0,5,10,0.1);//設置行高>>>.el-tree-node__content{position: relative;height: vh(52);box-sizing: border-box;}//小三角的位置 以及默認時候的位置>>>.el-tree-node__expand-icon{webkit-transform:rotate(-90deg);transform: rotate(-90deg);user-select: none;position: absolute;top: vh(8);right: 0;} //小三角點擊展開時候旋轉的角度>>>.el-tree-node__expand-icon.expanded{webkit-transform:rotate(90deg);transform: rotate(90deg);user-select: none;}//插入的父級的圖標的樣式  .father {background: url('../assets/img/flower-wxz.png') no-repeat;width: vw(18);height: vw(18);display: inline-block;background-size: 100% 100%;// margin-left: vw(20) !important;margin: 0 vw(8) 0 vw(20) !important;}//插入的自己的圖標樣式.son {width: vw(4);height: vw(4);border-radius: 50%;background: #666666;display: inline-block;background-size: 100% 100%;margin: 0 vw(8) vh(3) vw(35) !important;}//有子節點 且未展開 小三角.el-tree /deep/ .el-icon-caret-right:before {color: #858585;font-weight: 600;}//有子節點 且已展開 小三角.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {color: #4F8BE2 !important;font-weight: 600;}//沒有子節點 小三角.el-tree /deep/.el-tree-node__expand-icon.is-leaf::before {content: "";display: block;font-weight: 600;width: vw(12);height: vw(12);font-size: vw(16);background-size: 100% 100%;}>>>.el-tree-node__content .custom-tree-node{font-family: 'pfm';font-size: vw(16);color: #4e4e4e;line-height: vh(52);font-weight: 500;user-select: none;}>>>.el-tree-node__children .el-tree-node .el-tree-node__content .custom-tree-node{font-family: 'pf';font-size: vw(16);color: #666666;line-height: vh(52);font-weight: 500;user-select: none;}>>>.el-tree-node__content {border-left: vw(4) solid  transparent;}//選中顏色/deep/ .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {background: #ECF4FF !important;border-left: vw(4) solid  #4F8BE2;span{color: #4F8BE2;font-weight: 600;}.father {background: url('../assets/img/flower-xz.png') no-repeat;width: vw(18);height: vw(18);display: inline-block;background-size: 100% 100%;// margin-left: vw(20) !important;margin: vh(-3) vw(8) 0 vw(20) !important;}.son {width: vw(4);height: vw(4);border-radius: 50%;background:  #4F8BE2;display: inline-block;background-size: 100% 100%;margin: 0 vw(8) vh(3) vw(35) !important;}    }}
</style>

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42838.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42838.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42838.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【uniapp】picker mode=“region“ 最簡單的省市區 三級聯動

省市區 picker template <picker mode"region" :value"date" class"u-w-440" change"bindTimeChange"><u--inputborder"bottom"class"u-fb u-f-s-28"placeholder"請選擇省市區"type"te…

第8章 對同步的硬件支持 摘錄

為了保證并行程序執行的正確性和高效性&#xff0c;構建一個共享存儲多處理器系統的硬件必須要解決緩存一致性、存儲一致性和同步原語的支持等問題。 被廣泛使用的同步原語包括鎖lock、柵欄barrier和點對點同步(signal和wait信號量)。舉例來說&#xff0c;鎖和柵欄被大量使用在…

ARM 作業1

一、思維導圖 二、 1. 2. .text 文本段 .globl _start 聲明_start:mov r0,#0mov r1,#0fun:cmp r1,#100bhi stopadd r0,r0,r1add r1,r1,#1b fun stop:b stop .end

C++函數模板和類模板

C另一種編程思想稱為泛型編程&#xff0c;主要利用的技術是模板 C提供兩種模板機制&#xff1a;函數模板和類模板 C提供了模板(template)編程的概念。所謂模板&#xff0c;實際上是建立一個通用函數或類&#xff0c; 其類內部的類型和函數的形參類型不具體指定&#xff0c; 用…

Axios使用CancelToken取消重復請求

處理重復請求&#xff1a;沒有響應完成的請求&#xff0c;再去請求一個相同的請求&#xff0c;會把之前的請求取消掉 新增一個cancelRequest.js文件 import axios from "axios" const cancelTokens {}export const addPending (config) > {const requestKey …

如何區分閏年與平年

首先要明白 地球繞太陽運行周期為365天5小時48分46秒&#xff08;合365.24219天&#xff09;&#xff0c;即一回歸年&#xff08;tropical year&#xff09;。公歷的平年只有365日&#xff0c;比回歸年短約0.2422 日&#xff0c;每四年累積約一天&#xff0c;把這一天加于2月末…

Docker安裝基礎使用練習

目錄 1、安裝Docker-CE 1&#xff09;簡單使用yum方式安裝 ! 2&#xff09;配置鏡像加速&#xff1a; 2、下載系統鏡像&#xff08;Ubuntu、 centos&#xff09; 1&#xff09;先查看我們所需的鏡像有哪些版本。使用search命令&#xff01; 2&#xff09;下載鏡像使用的是pul…

【爬蟲】P1 對目標網站的背景調研(robot.txt,advanced_search,builtwith,whois)

對目標網站的背景調研 檢查 robot.txt估算網站大小識別網站所用技術尋找網站的所有者 檢查 robot.txt 目的&#xff1a; 大多數的網站都會包含 robot.txt 文件。該文件用于指出使用爬蟲爬取網站時有哪些限制。而我們通過讀 robot.txt 文件&#xff0c;亦可以最小化爬蟲被封禁的…

vue中實現文字檢索時候將搜索內容標紅

實現結果 html&#xff1a; <div class"searchBox"><span class"bt">標&#8195&#8195題</span><div class"search"><div class"shuru"><!-- <span class"title">生產經營<…

[leetcode] 707 設計鏈表

707. 設L計鏈表 中等 902 相關企業 你可以選擇使用單鏈表或者雙鏈表&#xff0c;設計并實現自己的鏈表。 單鏈表中的節點應該具備兩個屬性&#xff1a;val 和 next 。val 是當前節點的值&#xff0c;next 是指向下一個節點的指針/引用。 如果是雙向鏈表&#xff0c;則還需…

如何批量修改圖片名為不同名稱

如何批量修改圖片名為不同名稱&#xff1f;當今社會&#xff0c;因為人們都養成了隨手拍照的習慣&#xff0c;所以擁有上千上萬張照片的相冊已經司空見慣不足為奇。然而&#xff0c;我們在保存這些照片時往往都會碰到一個大難題——電腦中的圖片名稱千奇百怪&#xff0c;讓整個…

C++并發多線程--std::async、std::packaged_task和std::promise的使用

目錄 1--std::async的使用 2--std::packaged_task的使用 3--std::promise的使用 1--std::async的使用 std::async用于啟動一個異步任務&#xff0c;并返回一個std::future對象&#xff1b;std::future對象里含有異步任務線程入口函數的結果&#xff1b; std::launch::deferr…

完美解決微信小程序使用復選框van-checkbox無法選中

由于小程序使用了vant-ui框架&#xff0c;導致checkbox點擊無法選中問題 <van-checkbox value"{{ checked }}" shape"square"><view class"check-content"><view class"checktext">我已閱讀并同意>《用戶協議》…

opencv-目標追蹤

import argparse import time import cv2 import numpy as np# 配置參數 ap argparse.ArgumentParser() ap.add_argument("-v", "--video", typestr,help"path to input video file") ap.add_argument("-t", "--tracker", …

第1天----驗證一個字符串是否是另一個字符串的子串

本文我們將學習如何去驗證一個字符串是否是另一個字符串的子串。 一、小試牛刀&#xff1a; 題目描述 輸入兩個字符串&#xff0c;驗證其中一個串是否為另一個串的子串。 輸入格式 兩行&#xff0c;每行一個字符串。 輸出格式 若第一個串 s 1 是第二個串 s 2 的子串&#xff0c…

java Spring Boot properties多環境配置拆分文件管理

上文 java Spring Boot yml多環境拆分文件管理優化 我們用yml 做了一個多環境配置文件的拆分管理 我們將 application.yml 改為 application.properties 參考代碼如下 spring.profiles.activedev我們知道 yml 是用 : 來區分高低基本 而 properties是直接通過 . 來表達 其他基本…

使用svd 分解的方法對神經網絡模型進行壓縮(能不能壓縮要看秩的大小)

參考和理論 壓縮原理代碼 import torch import numpy as np torch.manual_seed(0)# ------------------------------------ # n:輸入數據維度 # m:輸出數據維度 # ------------------------------------ n = 12 m = 10# ------------------------------------ # 隨機初始化權…

樹形組件淺知

別人寫好的輪子&#xff0c;會用即可 首先&#xff0c;需要安裝依賴&#xff0c;npm install --save riophae/vue-treeselect 如果使用npm 不行 那么就使用 yarn add --save riophae/vue-treeselect 然后在使用的地方引入即可 // import the componentimport Treeselect from…

微信ipad協議8.0.40 加好友功能

友情鏈接 geweapi.com 點擊即可訪問&#xff01; 好友請求驗證 小提示&#xff1a; v_3 v_4 可以參考 搜索接口 請求URL&#xff1a; http://域名地址/api/contacts/verifyuser 請求方式&#xff1a; POST 請求頭&#xff1a; Content-Type&#xff1a;application/js…

SpringCloud實用篇7——深入elasticsearch

目錄 1 數據聚合1.1 聚合的種類1.2 DSL實現聚合1.2.1 Bucket聚合語法1.2.2 聚合結果排序1.2.3 限定聚合范圍1.2.4 Metric聚合語法1.2.5.小結 1.3 RestAPI實現聚合1.3.1 API語法1.3.2 業務需求1.3.3 業務實現 2 自動補全2.1 拼音分詞器2.2 自定義分詞器2.3 自動補全查詢2.4 實現…