在mian.js导入的包如下:该bootstrap-table-treegrid.js需要去下载,在复制到jquery-treegrid/js/
1 import $ from 'jquery' 2 import 'bootstrap/dist/css/bootstrap.min.css' 3 import 'bootstrap/dist/js/bootstrap.min' 4 import 'bootstrap-table/dist/bootstrap-table.min.css' 5 import 'bootstrap-table/dist/bootstrap-table.min' 6 import 'bootstrap-table/dist/locale/bootstrap-table-zh-CN.min' 7 import 'jquery-treegrid/css/jquery.treegrid.css' 8 import 'jquery-treegrid/js/jquery.treegrid.min' 9 import 'jquery-treegrid/js/bootstrap-table-treegrid'
package.json如下:
1 "dependencies": {
2 "bootstrap": "^3.3.7",
3 "bootstrap-table": "^1.11.1",
4 "jquery": "^3.4.1",
5 "jquery-treegrid": "^0.3.0"
6 }
mounted方法如下:
1 <template>
2 <div>
3 <div class="container">
4 <table id="treeGrid"></table>
5 </div>
6 </div>
7 </template>
8
9 <script>
10
11 export default {
12 name: 'function-config',
13 mounted () {
14 // this.$http.get(this.dataUrl).then(resp => {
15 // const options = this.$common.parse(resp)
16 // treeView.init(this.$jquery, options)
17 // })
18 // treeGrid.init(this.$jquery, this.$http, this.$common)
19 let treeGrid = this.$jquery('#treeGrid')
20 this.$http.get('/static/json/system/treeGrid.json').then(resp => {
21 const body = this.$common.parse(resp)
22 treeGrid.bootstrapTable({
23 data: body,
24 striped: true,
25 sidePagination: 'server',
26 idField: 'id',
27 columns: [
28 { field: 'check',
29 checkbox: true,
30 formatter: function (value, row, index) {
31 if (row.check === true) {
32 // 设置选中
33 return { checked: true }
34 }
35 }
36 },
37 { field: 'name', title: '名称' },
38 { field: 'status', title: '状态', sortable: true, align: 'center' },
39 { field: 'permissionValue', title: '权限值' }
40 ],
41 // 在哪一列展开树形
42 treeShowField: 'name',
43 // 指定父id列
44 parentIdField: 'pid',
45 // onPostBody onResetView onLoadSuccess
46 onResetView: function (data) {
47 treeGrid.treegrid({
48 initialState: 'collapsed',
49 // expanderExpandedClass: 'glyphicon glyphicon-minus',
50 // expanderCollapsedClass: 'glyphicon glyphicon-plus',
51 treeColumn: 1,
52 onChange: function () {
53 treeGrid.bootstrapTable('resetWidth')
54 }
55 })
56 }
57 })
58 })
59 }
60 }
61 </script>
62
63 <style scoped>
64
65 </style>
json数据:
1 [
2 {
3 "id": 1,
4 "status": 1,
5 "pid":0,
6 "name": "用户管理",
7 "permissionValue": "open:user:manage"
8 },
9 {
10 "id": 2,
11 "pid":0,
12 "status": 1,
13 "name": "系统管理",
14 "permissionValue": "open:system:manage"
15 },
16 {
17 "id": 3,
18 "pid": 1,
19 "status": 1,
20 "name": "新增用户",
21 "permissionValue": "open:user:add"
22 },
23 {
24 "id": 4,
25 "pid": 1,
26 "status": 1,
27 "name": "修改用户",
28 "permissionValue": "open:user:edit"
29 },
30 {
31 "id": 5,
32 "pid": 1,
33 "status": 0,
34 "name": "删除用户",
35 "permissionValue": "open:user:del"
36 },
37 {
38 "id": 6,
39 "pid": 2,
40 "status": 1,
41 "name": "系统配置管理",
42 "permissionValue": "open:systemconfig:manage"
43 },
44 {
45 "id": 7,
46 "pid": 6,
47 "status": 1,
48 "name": "新增配置",
49 "permissionValue": "open:systemconfig:add"
50 },
51 {
52 "id": 8,
53 "pid": 6,
54 "status": 1,
55 "name": "修改配置",
56 "permissionValue": "open:systemconfig:edit"
57 },
58 {
59 "id": 9,
60 "pid": 6,
61 "status": 0,
62 "name": "删除配置",
63 "permissionValue": "open:systemconfig:del"
64 },
65 {
66 "id": 10,
67 "pid": 2,
68 "status": 1,
69 "name": "系统日志管理",
70 "permissionValue": "open:log:manage"
71 },
72 {
73 "id": 11,
74 "pid": 10,
75 "status": 1,
76 "name": "新增日志",
77 "permissionValue": "open:log:add"
78 },
79 {
80 "id": 12,
81 "pid": 10,
82 "status": 1,
83 "name": "修改日志",
84 "permissionValue": "open:log:edit"
85 },
86 {
87 "id": 13,
88 "pid": 10,
89 "status": 0,
90 "name": "删除日志",
91 "permissionValue": "open:log:del"
92 }
93 ]
看下图,树型表格始终无法成功渲染,只有bootstrap table的效果,很是郁闷。

结果debug查看,对比在html下的例子,发现了bootstrap-table.min.js版本低了,要v1.12.1,于是替换了bootstrap-table.min.js的内容,重新执行npm run dev。结果如下:

主要js文件地址下载:
<script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap-table/1.12.0/extensions/treegrid/bootstrap-table-treegrid.js"></script>
来源:https://www.cnblogs.com/YuWeiXiF/p/10905101.html