ztree实现权限横向显示功能实例分享
最近在做权限功能的时候,采用的ztree实现的,但是产品要求最后一层的权限节点要横向显示。下面小编把基于ztree实现权限横向显示功能的实现思路分享给大家,供大家参考,希望能帮助到大家。
最近在做权限功能的时候,采用的ztree实现的,但是产品要求最后一层的权限节点要横向显示。开始在网上找的解决方案是用css样式把最后一层的display设置为inline。在我本地电脑上看了下。效果不错。
但是,后来测试在用十年前的笔记本测这个功能的时候,发现特别的卡,导致浏览器都崩溃了。所以,性能优化开始了。
1、同步改为异步,虽然不卡,但是功能不满足,很多人勾选了一个父节点(模块节点),就保存,此时子节点根本没有,所以保存的数据是有问题的。
2、设置showIcon和showLine为false,发现速度有一丢丢的提升,但是产品还是不满意。
3、仔细看了下,ztree的checkbox都是用span模拟的,搞个背景图。凭直觉觉得用原生的checkbox要比用图片模拟要强一些。说干就干,找了ztree提供的一个例子,稍作改造,效果还是很明显的。用到的主要方法时addDiyDom。
下面把主要的代码贴上来。
1、数据结构,要求有一个isLeaf节点,标记是否是子节点。
var zNodes =[ { id:1, pId:0, name:"父节点 1", open:true,isLeaf:false}, { id:11, pId:1, name:"叶子节点 1-1",isLeaf:true}, { id:12, pId:1, name:"叶子节点 1-2",open:true,isLeaf:false}, { id:120, pId:12, name:"叶子节点 1-2-0",isLeaf:true}, { id:121, pId:12, name:"叶子节点 1-2-1",isLeaf:true}, { id:13, pId:1, name:"叶子节点 1-3",isLeaf:true}, { id:2, pId:0, name:"父节点 2", open:true,isLeaf:false}, { id:21, pId:2, name:"叶子节点 2-1",isLeaf:true}, { id:22, pId:2, name:"叶子节点 2-2",isLeaf:true}, { id:23, pId:2, name:"叶子节点 2-3",isLeaf:true}, { id:3, pId:0, name:"父节点 3", open:true,isLeaf:false}, { id:31, pId:3, name:"叶子节点 3-1",isLeaf:true}, { id:32, pId:3, name:"叶子节点 3-2",isLeaf:true}, { id:33, pId:3, name:"叶子节点 3-3",isLeaf:true} ];
2、addDiyDom方法
function addDiyDom(treeId, treeNode) { //console.log(treeNode); var aObj = $("#" + treeNode.tId + IDMark_A); var editStr = $("<input type='checkbox' class='checkboxBtn' id='checkbox_" +treeNode.id+ "' onclick='checkedHandler(this)' ></input>"); editStr.data("treeNode",treeNode); aObj.before(editStr); }
3、自己写的几个级联操作的方法
function checkedHandler(checkbox){ var $checkbox = $(checkbox), treeNode = $checkbox.data("treeNode"), state = checkbox.checked; if(treeNode.isLeaf){ //子节点 if(state){ //子节点选中,父节点要跟着选中,子节点取消选择,父节点不用级联 setParentNodeChecked(checkbox); } }else{ //父节点 if(state){ //选中,级联子节点,级联父节点 setParentNodeChecked(checkbox); setChildNodeChecked(checkbox); }else{ setChildNodeChecked(checkbox); } } } /**设置父节点选中 */ function setParentNodeChecked(checkbox){ var $pNode = $(checkbox).closest("ul").parent(); var pCheckbox = $pNode.find(".checkboxBtn").get(0); var treeNode = $(pCheckbox).data("treeNode"); if(pCheckbox.checked === checkbox.checked) return; pCheckbox.checked = checkbox; if(treeNode.pId != "0") setParentNodeChecked(pCheckbox); } /**设置子节点选中 */ function setChildNodeChecked(checkbox){ $(checkbox).closest("li").find(".checkboxBtn").each(function(){ this.checked = checkbox.checked; }); }
4、css中,设置:
.ztree li.isLeaf{ display:inline; }
相关推荐:
实例详解jQuery EasyUI结合zTree树形结构制作web页面
Atas ialah kandungan terperinci ztree实现权限横向显示功能实例分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila anda mengklik medan carian dalam Windows 11, antara muka carian secara automatik mengembang. Ia memaparkan senarai program terbaru di sebelah kiri dan kandungan web di sebelah kanan. Microsoft memaparkan berita dan kandungan trend di sana. Semakan hari ini mempromosikan ciri penjanaan imej DALL-E3 baharu Bing, tawaran "Naga Sembang dengan Bing", maklumat lanjut tentang naga, berita popular daripada bahagian Web, cadangan permainan dan bahagian Carian Arah Aliran. Keseluruhan senarai item adalah bebas daripada aktiviti anda pada komputer anda. Walaupun sesetengah pengguna mungkin menghargai keupayaan untuk melihat berita, semua ini tersedia dengan banyaknya di tempat lain. Orang lain boleh secara langsung atau tidak langsung mengklasifikasikannya sebagai promosi atau pengiklanan. Microsoft menggunakan antara muka untuk mempromosikan kandungannya sendiri,

Dalam iOS 17 Apple memperkenalkan Mod Siap Sedia, pengalaman paparan baharu yang direka untuk mengecas iPhone dalam orientasi mendatar. Dalam kedudukan ini, iPhone dapat memaparkan satu siri widget skrin penuh, mengubahnya menjadi hab rumah yang berguna. Mod siap sedia diaktifkan secara automatik pada iPhone yang menjalankan iOS 17 yang diletakkan secara mendatar pada pengecas. Anda boleh melihat maklumat seperti masa, cuaca, kalendar, kawalan muzik, foto dan banyak lagi. Anda boleh leret ke kiri atau kanan melalui pilihan siap sedia yang tersedia dan kemudian tekan lama atau leret ke atas/bawah untuk menyesuaikan. Sebagai contoh, anda boleh memilih daripada paparan analog, paparan digital, fon gelembung dan paparan siang, di mana warna latar belakang berubah berdasarkan masa seiring dengan berlalunya masa. Terdapat beberapa pilihan

Sistem pengendalian Windows 11 Microsoft mungkin memaparkan cadangan secara berkala sebagai pop timbul pada komputer anda menggunakan sistem pemberitahuan. Sistem cadangan, yang pada asalnya direka bentuk untuk menyediakan petua dan cadangan kepada pengguna untuk menambah baik aliran kerja Windows 11 mereka, hampir sepenuhnya berubah menjadi sistem pengiklanan untuk mempromosikan perkhidmatan dan produk Microsoft. Pop timbul cadangan mungkin mengiklankan langganan Microsoft 365 kepada pengguna, mencadangkan memautkan telefon Android ke peranti atau menyediakan penyelesaian sandaran. Jika pop timbul ini mengganggu anda, anda boleh mengubahsuai sistem anda untuk melumpuhkannya sepenuhnya. Panduan berikut menyediakan cadangan untuk melumpuhkan pop timbul pada peranti yang menjalankan sistem pengendalian Windows 11 Microsoft.

Apakah yang berlaku apabila susun atur desktop dikunci apabila menggunakan komputer, kadangkala kita mungkin menghadapi situasi di mana reka letak desktop dikunci. Masalah ini bermakna kita tidak boleh bebas melaraskan kedudukan ikon desktop atau menukar latar belakang desktop. Jadi, apa sebenarnya yang berlaku apabila ia mengatakan bahawa susun atur desktop dikunci? 1. Fahami reka letak desktop dan fungsi penguncian Pertama, kita perlu memahami dua konsep susun atur desktop dan penguncian desktop. Reka letak desktop merujuk kepada susunan pelbagai elemen pada desktop, termasuk pintasan, folder, widget, dsb. kita boleh bebas

Terdapat ramai pengguna yang menggunakan Sambungan Desktop Jauh Ramai pengguna akan menghadapi beberapa masalah kecil apabila menggunakannya, seperti bar tugas pihak lain yang tidak dipaparkan penyelesaian di bawah. Cara untuk memaparkan bar tugas pihak lain semasa Sambungan Desktop Jauh: 1. Pertama, klik "Tetapan". 2. Kemudian buka "Peribadikan". 3. Kemudian pilih "Taskbar" di sebelah kiri 4. Matikan pilihan Hide Taskbar dalam gambar.

Cara menghidupkan sari kata langsung dalam Windows 11 1. Tekan Ctrl+L pada papan kekunci anda 2. Klik Setuju 3. Pop timbul akan muncul yang menyatakan Sedia untuk menambah sari kata dalam bahasa Inggeris (AS) (bergantung pada bahasa pilihan anda) 4. Selain itu, anda boleh menapis kata-kata kotor dengan mengklik butang gear? Keutamaan? Menapis Artikel Berkaitan Sumpah Cara Membetulkan Kod Ralat Pengaktifan 0xc004f069 dalam Pelayan Windows Proses pengaktifan pada Windows kadangkala mengambil giliran secara tiba-tiba untuk memaparkan mesej ralat yang mengandungi kod ralat 0xc004f069 ini. Walaupun proses pengaktifan adalah dalam talian, beberapa sistem lama yang menjalankan Windows Server mungkin mengalami masalah ini. Lulus semakan awal ini dan jika semakan ini tidak

Anda tidak perlu memasukkan kata laluan WIFI dengan kerap, jadi adalah perkara biasa untuk melupakannya Hari ini saya akan mengajar anda cara paling mudah untuk mencari kata laluan WIFI anda sendiri. Ia boleh dilakukan dalam masa 3 saat. Untuk menyemak kata laluan WIFI, gunakan WeChat untuk mengimbasnya Premis kaedah ini ialah: mesti ada telefon bimbit yang boleh menyambung ke WIFI. Okay, mari mulakan tutorial: Langkah 1. Kami masukkan telefon, tarik ke bawah dari bahagian atas telefon, bawa ke atas bar status, dan ikon WIFI Langkah 2. Tekan lama ikon WIFI untuk memasukkan tetapan WLAN tekan ikon WIFI Langkah 3. Klik Bersambung Masukkan nama WIFI rumah anda, klik Kongsi Kata Laluan, dan kod QR akan muncul di Langkah 4 untuk berkongsi kata laluan WIFI, kami mengambil tangkapan skrin dan menyimpan kod QR ini; , tekan lama ikon WeChat pada desktop dan klik Imbas

Baru-baru ini, Samsung Display dan Microsoft menandatangani perjanjian kerjasama yang penting. Menurut perjanjian itu, Samsung Display akan membangunkan dan membekalkan ratusan ribu panel OLEDoS untuk peranti yang dipasang di kepala realiti campuran (MR) kepada Microsoft sedang membangunkan peranti MR untuk kandungan multimedia seperti permainan dan filem ini Ia akan dilancarkan selepas spesifikasi OLEDoS ditentukan, terutamanya dalam bidang komersial, dan dijangka akan dihantar seawal 2026. Teknologi OLEDoS (OLED on Silicon) OLEDoS ialah teknologi paparan baharu yang mendepositkan OLED pada substrat silikon Berbanding dengan substrat kaca tradisional, ia lebih nipis dan mempunyai piksel yang lebih tinggi. Paparan OLEDoS dan paparan biasa
