使用vue2-org-tree html demo和问题

使用vue2-org-tree html demo和问题

想让每次点击展示的子层显示不同颜色,用css选择器修改笨笨的不灵活,看出来节点是有规律的,而且点击选中也不起作用了,修改整体颜色也不起作用了,有没有好方法改,烦躁ing
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>vue-org-tree</title>
    <!-- <link rel="stylesheet" href="https://unpkg.com/bootstrap@3.3.7/dist/css/bootstrap.min.css"> -->
    <link rel="stylesheet" href="https://unpkg.com/vue2-org-tree/dist/style.css">
    <style type="text/css">
    .org-tree-node-label {
      white-space: nowrap;
    }
    .bg-white {
      background-color: white;
    }
    .bg-orange {
      background-color: orange;
    }
    .bg-gold {
      background-color: gold;
    }
    .bg-gray {
      background-color: gray;
    }
    .bg-lightpink {
      background-color: lightpink;
    }
    .bg-chocolate {
      background-color: chocolate;
    }
    .bg-tomato {
      background-color: tomato;
    }
    .clickable-node {
      cursor: pointer;
    }
	
	/* 1 */
	.org-tree-node>.org-tree-node-label>.org-tree-node-label-inner{
		background-color:#55b9da;
	}
	/* 2 */
	.org-tree-node-children>.org-tree-node>.org-tree-node-label>.org-tree-node-label-inner{
		background-color:#83af9b;
	}
	
	/* 3 */
	.org-tree-node-children>.org-tree-node>.org-tree-node-children>.org-tree-node>.org-tree-node-label>.org-tree-node-label-inner{
		background-color:#c8c8a9;
	}
	/* 4 */
	.org-tree-node-children>.org-tree-node>.org-tree-node-children>.org-tree-node>
	.org-tree-node-children>.org-tree-node>
	.org-tree-node-label>.org-tree-node-label-inner{
		background-color:#f9cdad; 
	}
	/* 第5层 */
	.org-tree-node-children>.org-tree-node>.org-tree-node-children>.org-tree-node>
	.org-tree-node-children>.org-tree-node >
	.org-tree-node-children>.org-tree-node>
	.org-tree-node-label>.org-tree-node-label-inner{
		background-color:#fc9d9a; 
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过修改数据来实现同级上下移动的功能。 首先,需要监听el-tree的node-drop事件,该事件会在拖动节点到目标节点后触发,可以获取到拖动节点和目标节点的信息。根据这些信息,可以修改数据来实现节点的移动。 下面是一个简单的实现demo: ```html <template> <el-tree :data="data" :props="defaultProps" @node-drop="handleNodeDrop" ></el-tree> </template> <script> export default { data() { return { data: [ { label: '一级 1', children: [ { label: '二级 1-1' }, { label: '二级 1-2' } ] }, { label: '一级 2', children: [ { label: '二级 2-1' }, { label: '二级 2-2' } ] } ], defaultProps: { children: 'children', label: 'label' } } }, methods: { handleNodeDrop(draggingNode, dropNode, dropType) { // 获取拖动节点的父节点 const draggingNodeParent = draggingNode.parent; // 获取拖动节点在父节点中的位置 const draggingNodeIndex = draggingNodeParent.data.indexOf(draggingNode.data); // 获取目标节点的父节点 const dropNodeParent = dropNode.parent; // 获取目标节点在父节点中的位置 const dropNodeIndex = dropNodeParent.data.indexOf(dropNode.data); // 判断拖动节点和目标节点是否在同一级别 if (draggingNodeParent === dropNodeParent) { // 在同一级别内,交换位置即可 draggingNodeParent.data.splice(draggingNodeIndex, 1); draggingNodeParent.data.splice(dropNodeIndex, 0, draggingNode.data); } else { // 不在同一级别内,需要将拖动节点从原父节点中删除,然后添加到目标父节点中 draggingNodeParent.data.splice(draggingNodeIndex, 1); dropNodeParent.data.splice(dropNodeIndex, 0, draggingNode.data); } } } } </script> ``` 在该demo中,我们监听了el-tree的node-drop事件,然后在事件处理函数中,根据拖动节点和目标节点的信息来修改数据。具体来说,我们获取了拖动节点和目标节点的父节点以及在父节点中的位置,然后判断它们是否在同一级别内,如果是,则直接交换位置即可;否则,需要将拖动节点从原父节点中删除,然后添加到目标父节点中。 这样就实现了一个简单的同级上下移动的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值