vue Ant Design 多种表格组件
一、表格嵌套
<a-table :columns="columns" :dataSource="operation1" :slot-scope="record" class="components-table-demo-nested" @expand="child" rowKey="id" @expandedRowsChange="expandedRowsChange" :expandedRowKeys="expandedRowKeys"><a slot="operation" slot-scope="text,record" @click="del(record)">删除</a>
<a-table
slot="expandedRowRender"
:slot-scope="record"
:columns="innerColumns"
:dataSource="operation2"
:pagination="false"
>
<span slot="status" slot-scope="text">
{{ text | statusFilter }}
</span>
<span slot="operation" class="table-operation" slot-scope="text, record">
<a @click="delDevice(record)">删除</a>
</span>
</a-table>
</a-table>
第一层循环:
点击+触发child事件,获取后台数据,展示二层循环
child(expanded,record){this.expandedRowKeys = [] // 重置展开节点,只展开当前点击的节点(内部数据调用模板,无法做到同时几个内层表格数据直接缓存在页面)
if (expanded) {
this.expandedRowKeys = [record.id]
this.getDictItem() // 获取表格内部数据
}
console.log(record.id)
this.$http.post(\'http://xxxx/Device/child\',{
\'id\':record.id
}).then(result=>{
console.log(result)
this.operation2=result
})
},
getDictItem (obj) {
let searchparam = { id: this.expandedRowKeys[0] }
if (obj) { // 内部表格除了根据其父节点id查找的条件外,还支持排序,因此需要整合排序参数
searchparam = Object.assign(searchparam, obj)
}
},
二、权限管理 (展示角色所对应的权限)
<s-table:columns="columns"
:data="loadData"
:rowSelection="rowSelection"
:dataSource="dataList"
@change="TableChange">
<span slot="actions" slot-scope="text, record">
<a-tag v-for="(actions, index) in record.actions" :key="index">{{ actions.name }}</a-tag>
</span>
<span slot="status" slot-scope="text">
{{ text | statusFilter }}
</span>
<span slot="action" slot-scope="text, record">
<a @click="userEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link"> 更多 <a-icon type="down" /> </a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;">详情</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;">禁用</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="delUser(record)">删除</a>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
//数据源
loadData: parameter => {return this.$http
.post(\'http://newadmin.8009.org/index.php/index/users/userList\', {
params: Object.assign(parameter, this.queryParam)
})
.then(res => {
console.log("page===",this.pagination)
// console.log(\' page===\',res)
return res
})
},
以上是 vue Ant Design 多种表格组件 的全部内容, 来源链接: utcz.com/z/379189.html