这段时间改造了一个报表,需要在之前的基础上添加一个分类的维度,之前的报表样子找不到了,应该是用a-table写的普通表格,现在前端表格统一转到vxe-table上去了,记录一下开发树形表格过程中的坑。
<vxe-table border id="xTable1" ref="xTable1" class="xTable1" :column-config="{resizable: true,width:100,useKey:true,isHover: true}" :row-config="{isHover: false}" :loading="loading1" :loading-config="{icon: 'vxe-icon-indicator roll', text: '正在拼命加载中...'}" :tree-config="{ transform: true,rowField: 'id', parentField: 'parentId'}" :custom-config="{ storage: true}" :height="tableHeight / 2 +'px'" :sort-config="{ multiple: true, chronological: true,trigger: 'cell'}" @cell-dblclick="rowCellClick1" :rowClassName="handleCss1" align="left" :export-config="{types:['csv']}" :scroll-y="{gt:30}" stripe show-footer :footer-method="footerMethod" :footer-span-method="footerColspanMethod" show-header-overflow="title" empty-text="没有更多数据了!" style="margin-top: 5px" :data="list1"> <vxe-column field="yardcode" title="码头" tree-node width="200"/> </vxe-table>
一般就配置一下:tree-config属性,还有父节点的那一列开启tree-node,我刚开始的时候没写这个属性死活加载不出来,蠢死
然后用户又说需要默认展开前三行,查了一下api需要把对应的列的父节点数组,也就是[1,2,3]绑定到expandKeys属性,但是我一直尝试都没有成功
于是我开始把目标朝向vxe-table的方法里,在开启树形表格后,有一个setTreeExpand(array : Array[], boolean : Boolean)方法可以使用,我在拿到数据后直接调用这个方法,每次查询数据后都会重新加载表格
getTrainctnRate(this.queryParam).then(response => { this.list = response.result this.list.sort((a,b) => (Number(b.onctnnum) + Number(b.notctnnum)) - (Number(a.onctnnum) + Number(a.notctnnum))) this.list2 = [] this.$nextTick(() => { this.$refs.xTable.setTreeExpand(this.$refs.xTable.getData(0),true) }) this.loading = false }).catch(error => { this.loading = false })
还有一个问题,使用vxe-table自带导出树状表格的时候,默认是不带未展开的数据的,需要在export-config把isAllExpand置为true,或者你在导出的时候勾选一下也可以,客户懒得点这一下
标签:v3.5,表格,vxe,true,Number,table,config From: https://www.cnblogs.com/rarantella/p/17803383.html