代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>OrgTree Example</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="dist/index.js"></script>
<style>
@import "dist/style.css";
.selected-node {
background: tomato;
}
.bg_node {
cursor: pointer;
}
</style>
</head>
<body>
<div id="app">
<div>
<vue2-org-tree
:data="tree"
collapsable
:label-width="90"
:label-class-name="labelClass"
:render-content="renderContent"
@on-expand="onExpand"
@on-node-click="onNodeClick"
@on-node-mouseover="onNodeMouseOver"
@on-node-mouseout="onNodeMouseOut"
selected-class-name="selected-node"
selected-key="selectedKey"
/>
</div>
</div>
<script>
new Vue({
el: '#app',
data: () => ({
tree: {
label: 'Owner',
children: [{
label: 'Label 1'
},{
label: 'Label 2'
},{
label: 'Label 3'
}]
}
}),
methods: {
labelClass (data) {
return "bg_node";
},
renderContent (h, data) {
return data.label;
},
onExpand (e, data) {
if ('expand' in data) {
data.expand = !data.expand
if (!data.expand && data.children) {
this.collapse(data.children)
}
} else {
this.$set(data, 'expand', true)
}
},
collapse (nodes) {
nodes.forEach(node => {
if (node.expand) {
node.expand = false
}
node.children && this.collapse(node.children)
})
},
onNodeClick (e, data) {
console.log('CLICK', e);
this.$set(data, 'selectedKey', !data['selectedKey']);
},
onNodeMouseOver(e, data) {
console.log('MOUSE OVER', e);
},
onNodeMouseOut(e, data) {
console.log('MOUSE OUT', e);
}
}
})
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。