表格:
//默认展开树表格
<BasicTable @register="registerTable" @fetch-success="onFetchSuccess">
</BasicTable>
import { handleTree } from '/@/utils/index';
const [registerTable, { reload,expandAll }] = useTable({
title: '数据列表',
api: getProductCategoryList,
columns: columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema, showAdvancedButton: false },
afterFetch: (res) => {
res.forEach((item) => {
item.children = [];
});
return handleTree(res, 'id', 'parentId', 'children');
},
isTreeTable: true,
pagination: false /* 分页 */,
striped: false /* 斑马纹 */,
canResize: false /* 是否可以自适应高度 */,
useSearchForm: true /* 搜索表单 */,
showTableSetting: true,
showIndexColumn: false,
bordered: true,
actionColumn: {
width: 162,
title: '操作',
dataIndex: 'action',
},
});
//默认展开树表格
import { nextTick } from 'vue';
function onFetchSuccess() {
nextTick(expandAll);
}
下拉框:
import { handleTree } from '/@/utils/index';
async function getClassifyListSelect() {
let res = await getList();
res.forEach((item) => {
item.children = [];
});
//将数据放入下拉框中
const { updateSchema } = getForm();
await updateSchema({
field: 'categoryId',
componentProps: {
treeData: handleTree(res, 'id', 'parentId', 'children'),
},
});
}