umi-test/src/components/PermissionTreeSelect.tsx

35 lines
897 B
TypeScript
Raw Normal View History

2025-02-26 10:53:26 +08:00
import { useSysPermissionsDataSource } from '@/hooks/dataSources';
import { ProFormColumnsType } from '@ant-design/pro-components';
/**
*
* @param guardName
* @returns
*/
export const PermissionTreeSelect = (
guardName: string,
): ProFormColumnsType<any, 'treeSelect'> => {
const { data } = useSysPermissionsDataSource({ guard_name: guardName });
return {
key: 'parent_id',
title: '上级菜单',
valueType: 'treeSelect',
request: async () => data || [],
fieldProps: {
rowKey: 'id',
allowClear: true,
autoClearSearchValue: false,
bordered: true,
fieldNames: {
label: 'name',
value: 'id',
},
filterTreeNode: false,
showSearch: false,
treeNodeFilterProp: 'title',
treeDefaultExpandAll: true,
},
};
};