Browse Source

feat: table 类型VxeTableGridColumns替代VxeTableGridOptions['columns']魔法值写法

pull/7711/head
雪忆天堂 7 months ago
parent
commit
6b3506f128
  1. 2
      packages/effects/plugins/src/vxe-table/index.ts
  2. 6
      packages/effects/plugins/src/vxe-table/types.ts
  3. 4
      playground/src/views/system/dept/data.ts
  4. 4
      playground/src/views/system/menu/data.ts
  5. 4
      playground/src/views/system/role/data.ts

2
packages/effects/plugins/src/vxe-table/index.ts

@ -1,5 +1,5 @@
export { setupVbenVxeTable } from './init';
export type { VxeTableGridOptions } from './types';
export type { VxeTableGridColumns, VxeTableGridOptions } from './types';
export * from './use-vxe-grid';
export { default as VbenVxeGrid } from './use-vxe-grid.vue';

6
packages/effects/plugins/src/vxe-table/types.ts

@ -26,6 +26,8 @@ interface ToolbarConfigOptions extends VxeGridPropTypes.ToolbarConfig {
search?: boolean;
}
export type VxeTableGridColumns<T = any> = VxeTableGridOptions<T>['columns'];
export interface VxeTableGridOptions<T = any> extends VxeTableGridProps<T> {
/** 工具栏配置 */
toolbarConfig?: ToolbarConfigOptions;
@ -40,6 +42,10 @@ export interface VxeGridProps<
T extends Record<string, any> = any,
D extends BaseFormComponentType = BaseFormComponentType,
> {
/**
* 数据
*/
tableData?: any[];
/**
* 标题
*/

4
playground/src/views/system/dept/data.ts

@ -1,4 +1,4 @@
import type { VxeTableGridOptions } from '@vben/plugins/vxe-table';
import type { VxeTableGridColumns } from '@vben/plugins/vxe-table';
import type { VbenFormSchema } from '#/adapter/form';
import type { OnActionClickFn } from '#/adapter/vxe-table';
@ -76,7 +76,7 @@ export function useSchema(): VbenFormSchema[] {
*/
export function useColumns(
onActionClick?: OnActionClickFn<SystemDeptApi.SystemDept>,
): VxeTableGridOptions<SystemDeptApi.SystemDept>['columns'] {
): VxeTableGridColumns<SystemDeptApi.SystemDept> {
return [
{
align: 'left',

4
playground/src/views/system/menu/data.ts

@ -1,4 +1,4 @@
import type { OnActionClickFn, VxeTableGridOptions } from '#/adapter/vxe-table';
import type { OnActionClickFn, VxeTableGridColumns } from '#/adapter/vxe-table';
import type { SystemMenuApi } from '#/api/system/menu';
import { $t } from '#/locales';
@ -23,7 +23,7 @@ export function getMenuTypeOptions() {
export function useColumns(
onActionClick: OnActionClickFn<SystemMenuApi.SystemMenu>,
): VxeTableGridOptions<SystemMenuApi.SystemMenu>['columns'] {
): VxeTableGridColumns<SystemMenuApi.SystemMenu> {
return [
{
align: 'left',

4
playground/src/views/system/role/data.ts

@ -1,5 +1,5 @@
import type { VbenFormSchema } from '#/adapter/form';
import type { OnActionClickFn, VxeTableGridOptions } from '#/adapter/vxe-table';
import type { OnActionClickFn, VxeTableGridColumns } from '#/adapter/vxe-table';
import type { SystemRoleApi } from '#/api';
import { $t } from '#/locales';
@ -77,7 +77,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
export function useColumns<T = SystemRoleApi.SystemRole>(
onActionClick: OnActionClickFn<T>,
onStatusChange?: (newStatus: any, row: T) => PromiseLike<boolean | undefined>,
): VxeTableGridOptions['columns'] {
): VxeTableGridColumns {
return [
{
field: 'name',

Loading…
Cancel
Save