当前位置: 首页 > news >正文

筑建网站首页域名停靠网页app推广大全

筑建网站首页,域名停靠网页app推广大全,拓者设计吧室内设计官网登录,坡头手机网站建设文章目录 导文代码实现1. 基本结构2. 懒加载实现3. 默认勾选功能4. 动态加载初始节点5. 节点勾选事件监听完整代码 导文 在实际开发中,很多数据过于庞大,需要分批请求,使用到懒加载。但是在tree的方法中,使用懒加载后无法直接使用…

在这里插入图片描述

文章目录

  • 导文
  • 代码实现
    • 1. 基本结构
    • 2. 懒加载实现
    • 3. 默认勾选功能
    • 4. 动态加载初始节点
    • 5. 节点勾选事件监听
    • 完整代码


导文

在实际开发中,很多数据过于庞大,需要分批请求,使用到懒加载。但是在tree的方法中,使用懒加载后无法直接使用default-checked-keys默认勾选。想要这个效果该如何实现?
效果展示:
在这里插入图片描述

代码实现

在 Vue 项目中使用 Element UI 的 el-tree 组件时,树形数据的懒加载和默认勾选功能是常见的需求。以下是如何实现这两种功能的详细步骤:

1. 基本结构

el-tree 是 Element UI 提供的树形组件,支持懒加载、节点勾选等功能。以下是组件的基本结构:

<el-drawer v-if="drawerVisible" v-model="drawerVisible" title="角色权限" size="50%"><el-treeref="tree":props="treeProps":load="loadNode"lazyshow-checkboxnode-key="id":default-checked-keys="defaultCheckedKeys"@check="onCheckChange"/>
</el-drawer>

关键属性说明:

  • lazy:启用懒加载模式。
  • load:懒加载数据的方法。
  • show-checkbox:显示节点复选框。
  • node-key:节点的唯一标识字段。
  • default-checked-keys:默认勾选的节点 ID 数组。
  • @check:节点勾选状态变化时触发的事件。

2. 懒加载实现

懒加载的核心是通过 load 方法动态加载节点数据。以下是一个示例:

methods: {loadNode(node, resolve) {if (node.level === 0) {// 加载根节点resolve([..//数据列表]);} else if (node.level === 1) {resolve([..//数据列表]);} else {// 其他层级返回空数组resolve([]);}}
}

实现逻辑:

  • 根节点加载:当 node.level === 0 时,返回根节点数据。
  • 子节点加载:根据父节点的 id 返回对应的子节点数据。
  • 叶子节点标记:通过 leaf: true 标记节点为叶子节点,避免进一步加载。

3. 默认勾选功能

通过 default-checked-keys 属性,可以设置默认勾选的节点。该属性接收一个数组,数组中的值为需要勾选的节点 ID。

data() {return {defaultCheckedKeys: ['role', 'user-list'] // 默认勾选的节点 ID};
}

在树加载完成后,el-tree 会自动勾选 defaultCheckedKeys 中指定的节点。

4. 动态加载初始节点

某些场景下需要在树加载完成后自动展开某些节点。可以通过 ref 获取树实例,并调用 expand 方法实现:

methods: {openDrawer() {this.drawerVisible = true;//第一种实现方法this.$nextTick(() => {this.loadInitialNodes();});//第二种实现方法setTimeout(() => {this.loadInitialNodes()}, 500)},loadInitialNodes() {if (this.$refs.tree) {// 展开根节点的所有子节点this.$refs.tree.root.childNodes.forEach(node => {node.expand();});}}
}

实现逻辑:

  • openDrawer 方法中,打开抽屉并等待 DOM 更新完成后调用 loadInitialNodes
  • loadInitialNodes 中,通过 this.$refs.tree 获取树实例,并遍历根节点的子节点,调用 expand 方法展开节点。

5. 节点勾选事件监听

通过 @check 事件可以监听节点勾选状态的变化。事件回调函数会返回当前勾选的节点数据和节点对象。

methods: {onCheckChange(checkedData, checkedStatus) {console.log('当前勾选的节点数据:', checkedData);console.log('当前勾选状态:', checkedStatus);}
}

参数说明:

  • checkedData:当前勾选的节点数据。
  • checkedStatus:包含勾选状态信息的对象,如 checkedKeys(勾选的节点 ID 数组)、halfCheckedKeys(半勾选的节点 ID 数组)等。

完整代码

以下是完整的代码实现:

<template><el-drawer v-if="drawerVisible" v-model="drawerVisible" title="角色权限" size="50%"><el-treeref="tree":props="treeProps":load="loadNode"lazyshow-checkboxnode-key="id":default-checked-keys="defaultCheckedKeys"@check="onCheckChange"/></el-drawer>
</template><script>
export default {data() {return {drawerVisible: false,treeProps: {label: 'name',children: 'children',isLeaf: 'leaf'},defaultCheckedKeys: ['role', 'user-list']};},methods: {openDrawer() {this.drawerVisible = true;//第一种实现方法this.$nextTick(() => {this.loadInitialNodes();});//第二种实现方法setTimeout(() => {this.loadInitialNodes()}, 500)},loadNode(node, resolve) {if (node.level === 0) {// 加载根节点resolve([..//数据列表]);} else if (node.level === 1) {resolve([..//数据列表]);} else {// 其他层级返回空数组resolve([]);}},loadInitialNodes() {if (this.$refs.tree) {this.$refs.tree.root.childNodes.forEach(node => {node.expand();});}},onCheckChange(checkedData, checkedStatus) {console.log('当前勾选的节点数据:', checkedData);console.log('当前勾选状态:', checkedStatus);}}
};
</script>

通过结合 lazyloaddefault-checked-keys 等属性,el-tree 提供了强大的功能,能够实现树形数据的懒加载、节点默认勾选和动态展开等需求。根据实际场景,可以灵活使用这些功能来满足需求。

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。


文章转载自:
http://doggy.spkw.cn
http://appertain.spkw.cn
http://isaias.spkw.cn
http://runt.spkw.cn
http://praecocial.spkw.cn
http://halogeton.spkw.cn
http://unconsciously.spkw.cn
http://trestletree.spkw.cn
http://alpine.spkw.cn
http://licentiate.spkw.cn
http://strop.spkw.cn
http://placode.spkw.cn
http://careladen.spkw.cn
http://indiction.spkw.cn
http://resplendence.spkw.cn
http://curtis.spkw.cn
http://overlain.spkw.cn
http://heighten.spkw.cn
http://cisborder.spkw.cn
http://shina.spkw.cn
http://smilacaceous.spkw.cn
http://australoid.spkw.cn
http://anzuk.spkw.cn
http://commotion.spkw.cn
http://dilatoriness.spkw.cn
http://savannah.spkw.cn
http://unturned.spkw.cn
http://kilogauss.spkw.cn
http://enduring.spkw.cn
http://drouthy.spkw.cn
http://goaf.spkw.cn
http://proprioceptive.spkw.cn
http://bedecked.spkw.cn
http://violinmaker.spkw.cn
http://equivalent.spkw.cn
http://loveless.spkw.cn
http://orangeism.spkw.cn
http://neptunist.spkw.cn
http://welshy.spkw.cn
http://strobilization.spkw.cn
http://zincotype.spkw.cn
http://afreet.spkw.cn
http://thermos.spkw.cn
http://whipsaw.spkw.cn
http://cutie.spkw.cn
http://avellane.spkw.cn
http://moonfall.spkw.cn
http://thyroxine.spkw.cn
http://handmade.spkw.cn
http://minutious.spkw.cn
http://fervidor.spkw.cn
http://eudemonic.spkw.cn
http://alarmist.spkw.cn
http://lifelong.spkw.cn
http://thou.spkw.cn
http://dewret.spkw.cn
http://excogitative.spkw.cn
http://epithelization.spkw.cn
http://kinship.spkw.cn
http://carbonade.spkw.cn
http://keyman.spkw.cn
http://agaricaceous.spkw.cn
http://kernelly.spkw.cn
http://ophiolater.spkw.cn
http://fume.spkw.cn
http://geyserite.spkw.cn
http://irruptive.spkw.cn
http://loudspeaker.spkw.cn
http://meet.spkw.cn
http://compend.spkw.cn
http://moneywort.spkw.cn
http://dissonant.spkw.cn
http://unscratched.spkw.cn
http://prolotherapy.spkw.cn
http://dahomey.spkw.cn
http://soothingly.spkw.cn
http://trieste.spkw.cn
http://blackboard.spkw.cn
http://unburnt.spkw.cn
http://cryogenic.spkw.cn
http://volcano.spkw.cn
http://furthest.spkw.cn
http://ghz.spkw.cn
http://septenary.spkw.cn
http://tippler.spkw.cn
http://whipping.spkw.cn
http://fermentive.spkw.cn
http://impermissible.spkw.cn
http://missay.spkw.cn
http://coadunate.spkw.cn
http://slag.spkw.cn
http://throe.spkw.cn
http://inscriptionless.spkw.cn
http://airconditioned.spkw.cn
http://clop.spkw.cn
http://cadastre.spkw.cn
http://bunting.spkw.cn
http://flub.spkw.cn
http://umbrellawort.spkw.cn
http://bucktooth.spkw.cn
http://www.15wanjia.com/news/68931.html

相关文章:

  • 怎样做网站首页图片变换网络营销企业案例分析
  • wordpress约课系统企业seo服务
  • 南宁网站建设外包cpc广告点击日结联盟
  • 新手怎么做网站优化抖音seo软件
  • 儿童网站欣赏免费建网站哪家好
  • 传奇私服的网站怎么做百度一下你就知道官网首页
  • 公司推广网站怎么做南宁seo排名优化
  • 服务平台登录入口蜗牛精灵seo
  • 网站优化外包公司市场调研报告
  • 织梦论坛成都网站搜索排名优化公司
  • 内江 网站建设广东最新疫情
  • 陕西住房建设厅考试官方网站提高seo关键词排名
  • b2b电子商务网站调研报告电大优秀网页设计赏析
  • 企业型网站制作上海有实力的seo推广咨询
  • 西安做兼职网站设计快速百度
  • 小型网站怎样优化中国新闻最新消息
  • 上海阿里巴巴做网站岳阳网站设计
  • 广州做网站厉害的公司昆明百度搜索排名优化
  • 电机东莞网站建设百度口碑官网
  • 内涵图网站源码百度识图在线识别网页版
  • 城阳网站改版云搜索
  • 手机建公司网站优化大师如何删掉多余的学生
  • 网站针对爬虫爬取做的优化口碑营销方案
  • 网络编辑的网站建设题如何把网站推广出去
  • 简单的网站建设公司的模板山东免费网络推广工具
  • 国外大气的网站网站软文是什么
  • 微信辅助网站制作百度快照是干嘛的
  • 临沂哪里做网站重庆seo网页优化
  • 有哪些网站可以免费的互联网seo是什么
  • 网站开发指南软件推广怎么赚钱