房产二维楼盘表页面制作,包含小区、楼栋、单元、楼层,页面分左右两侧,左侧是树型结构,包含小区、楼栋单元,请用vue2实现
时间: 2023-07-10 11:06:23 浏览: 305
【JavaScript源代码】vue Element-ui表格实现树形结构表格.docx
好的,这里是一个简单的房产二维楼盘表页面制作,使用Vue2实现:
首先,我们需要在`index.html`文件中引入Vue.js和ElementUI的CSS和JS文件:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>房产二维楼盘表页面制作</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<style>
#app {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.tree-container {
width: 400px;
height: 500px;
border: 1px solid #ccc;
margin-right: 20px;
padding: 20px;
}
.table-container {
width: 600px;
height: 500px;
border: 1px solid #ccc;
padding: 20px;
}
</style>
</head>
<body>
<div id="app">
<div class="tree-container">
<el-tree :data="treeData" :props="treeProps" @node-click="handleNodeClick"></el-tree>
</div>
<div class="table-container">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column prop="number" label="编号"></el-table-column>
</el-table>
</div>
</div>
<script src="./main.js"></script>
</body>
</html>
```
然后,在`main.js`文件中创建Vue实例,并定义树形结构和表格的数据:
```javascript
new Vue({
el: '#app',
data: {
treeData: [{
id: 1,
label: '小区1',
children: [{
id: 11,
label: '楼栋1',
children: [{
id: 111,
label: '单元1',
children: [{
id: 1111,
label: '1层'
},
{
id: 1112,
label: '2层'
},
{
id: 1113,
label: '3层'
}
]
},
{
id: 112,
label: '单元2',
children: [{
id: 1121,
label: '1层'
},
{
id: 1122,
label: '2层'
},
{
id: 1123,
label: '3层'
}
]
}
]
},
{
id: 12,
label: '楼栋2',
children: [{
id: 121,
label: '单元1',
children: [{
id: 1211,
label: '1层'
},
{
id: 1212,
label: '2层'
},
{
id: 1213,
label: '3层'
}
]
},
{
id: 122,
label: '单元2',
children: [{
id: 1221,
label: '1层'
},
{
id: 1222,
label: '2层'
},
{
id: 1223,
label: '3层'
}
]
}
]
}
]
},
tableData: [{
name: '101',
number: '1001'
},
{
name: '102',
number: '1002'
},
{
name: '103',
number: '1003'
}
]
},
methods: {
handleNodeClick(data) {
if (data.children) {
return;
}
this.tableData = []; // 清空表格数据
let nodes = [];
let parentNode = data.parent;
while (parentNode) {
nodes.push(parentNode.label);
parentNode = parentNode.parent;
}
nodes.reverse();
nodes.push(data.label);
let name = nodes.join('-');
let number = data.id;
for (let i = 0; i < 10; i++) {
this.tableData.push({
name: name + '-' + (i + 1),
number: number + '-' + (i + 1)
});
}
}
},
computed: {
treeProps() {
return {
label: 'label',
children: 'children'
};
}
}
});
```
在Vue实例中,我们定义了`treeData`和`tableData`两个数据,分别表示树形结构和表格的数据。`treeData`中包含了小区、楼栋、单元、楼层的层级关系,`tableData`中包含了表格的列数据。当用户点击树形结构节点时,我们会根据节点的信息动态生成表格的数据,并更新到页面上。
最后,我们使用ElementUI的`el-tree`组件和`el-table`组件分别渲染树形结构和表格。
这样,一个简单的房产二维楼盘表页面就完成了。
阅读全文