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

收录网站制作网页制作成品模板网站

收录网站制作,网页制作成品模板网站,宜春做网站,做网站可以用.cn域名吗因为项目一些数据需要树形展示&#xff0c;但是官网组件没有。现在简单封装一个组件在app中使用&#xff0c;可以无线嵌套&#xff0c;展开&#xff0c;收缩&#xff0c;获取子节点数据等。 简单效果 组件TreeData <template><view class"tree"><te…

       因为项目一些数据需要树形展示,但是官网组件没有。现在简单封装一个组件在app中使用,可以无线嵌套,展开,收缩,获取子节点数据等。

简单效果

组件TreeData

<template><view class="tree"><template v-for="(node, index) in treeData"><view><span @click="toggleNode($event, node)"><uni-iconsv-if="node.children && node.children.length > 0":type="node.expanded ? 'arrowdown' : 'arrowright'"size="14"></uni-icons>{{ node.label }}</span><span@click.stop="deleteNode($event, node)"class="action-button delete-button">删除</span><span@click.stop="editNode($event, node)"class="action-button edit-button">编辑</span><view v-if="node.expanded" class="children"><Tree:treeData="node.children"@edit-node="(childNode) => $emit('edit-node', childNode)"@delete-node="(childNode) => $emit('delete-node', childNode)"/></view></view></template></view>
</template><script>
export default {name: "Tree",props: {treeData: {type: Array,default: () => [],},expandAll: {type: Boolean,default: true,},},data() {return {init: false,};},watch: {treeData: {immediate: true,handler(newData) {if (!this.init) {this.initializeTreeData(newData, this.expandAll);this.init = true;}},},},methods: {initializeTreeData(nodes, expanded) {nodes.forEach((node) => {this.$set(node, "expanded", expanded); // 使用 $set 确保响应式if (node.children && node.children.length > 0) {this.initializeTreeData(node.children, expanded); // 递归处理子节点}});},toggleNode(event, node) {event.stopPropagation(); // 阻止事件冒泡node.expanded = !node.expanded; // 切换节点展开状态},editNode(event, node) {event.stopPropagation();this.$emit("edit-node", node); // 触发父组件的 edit-node 事件,并传递当前节点},deleteNode(event, node) {event.stopPropagation();this.$emit("delete-node", node); // 触发父组件的 delete-node 事件,并传递当前节点},},
};
</script><style scoped>
.tree {padding-left: 15px;
}
.children {padding-left: 15px;
}
.tree-node {display: flex;align-items: center;
}.action-button {cursor: pointer;margin-left: 10px;color: #409eff;
}.edit-button {float: right;
}.delete-button {float: right;
}
</style>

在页面中使用...

<template><view class="page"><Tree:treeData="treeData":expandAll="expandAll"@edit-node="handleEditNode"@delete-node="handleDeleteNode"/></view>
</template><script>
import Tree from "@/components/TreeData";export default {components: {Tree,},data() {return {treeData: [{label: "根节点 1",children: [{label: "子节点 1-1",children: [{label: "子节点 1-1-1",children: [],},{label: "子节点 1-1-2",children: [],},],},{label: "子节点 1-2",children: [],},],},{label: "根节点 2",children: [{label: "子节点 2-1",children: [],},],},],expandAll: true, // 控制是否全部展开};},methods: {handleEditNode(node) {console.log("编辑节点", node);// 处理编辑节点的逻辑},handleDeleteNode(node) {console.log("删除节点", node);// 处理删除节点的逻辑},},
};
</script><style scoped>
page {background-color: #f5f6f8;
}.page {padding: 20px;
}
</style>

凑活用

http://www.dt0577.cn/news/37356.html

相关文章:

  • 微信开放平台 网站开发企业seo的措施有哪些
  • 论坛门户静态网页模板兰州网站seo服务
  • 威海网站建设联系方式惠州seo计费
  • 北京公交yy优化单页站好做seo吗
  • 上海网站开发网店推广有哪些方法
  • 重庆建设安全管理网站谷歌推广公司
  • 那些语言可以建网站网站改版seo建议
  • 网站建设中英文表述直通车优化推广
  • 北京个人制作网站免费推广网站地址大全
  • c 网页开发谷歌seo是做什么的
  • 经营性网站icp备案花多少钱网站排名怎么做上去
  • 做网站的电话号码谷歌seo营销
  • 淘宝做导航网站有没有可以代理推广的平台
  • 桐乡做网站seo双标题软件
  • 网站有源码之后怎么建设网站游戏推广员平台
  • 自己注册公司网站品牌seo如何优化
  • 嵊州门户网站怎么在百度免费推广
  • 广州网络推广机构seo比较好的公司
  • wordpress模板 站长腾讯nba新闻
  • 专家库 网站 建设方案百度联系电话多少
  • 昆山网站建设公司怎么样东莞seo建站公司哪家好
  • dedecms转换wordpress方法百度seo课程
  • 企业网站建设中有哪几个重要点营销广告网站
  • 山东省特种作业操作证查询哈尔滨seo推广优化
  • 对网站二次开发的认识宣传推广计划怎么写
  • 合肥哪家公司做网站网络广告销售
  • 淘宝上做微请帖的在哪个网站企业培训课程价格
  • 网页建站需要多少钱毕节地seo
  • 网站悬浮代码网站快速排名上
  • 怎么做电商平台网站优化网络的软件下载