跳至主要內容

枚举

Mr.Hope大约 1 分钟

枚举

表单

枚举(FormEnumFieldWidget)

表单枚举基础类,用于处理枚举的通用功能。默认使用 FormEnumFieldWidget.ts 作为该功能的基类,枚举字段继承了 FormEnumFieldAbstractWidget

@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Form, ViewType.Search],
    ttype: [ModelFieldType.Enum],
    multi: false,
  })
)
export class FormEnumFieldWidget<
  Value extends EnumerationValue | EnumerationValue[] = EnumerationValue
> extends FormEnumFieldAbstractWidget<Value> {}

如何替换

import {
  SPI,
  ViewType,
  ModelFieldType,
  FormFieldWidget,
  FormEnumFieldWidget,
} from "@kunlun/dependencies";

@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Form, ViewType.Search],
    ttype: [ModelFieldType.Enum],
    multi: false,
  })
)
export class CustomFormEnumFieldWidget extends FormEnumFieldWidget {}

表格

枚举(TableEnumFieldWidget)

表格枚举基础类,用于处理表格中的枚举通用功能。默认使用 TableEnumFieldWidget.ts 作为该功能的基类,日期时间选择框字段继承了 BaseTableFieldWidget

@SPI.ClassFactory(
  BaseFieldWidget.Token({
    viewType: ViewType.Table,
    ttype: ModelFieldType.Enum,
  })
)
export class TableEnumFieldWidget extends BaseTableFieldWidget<
  string | string[],
  RuntimeEnumerationField
> {}

参数

  • optionColor: 响应式变量,表示是否显示颜色,默认为 true
  • optionColorStyle: 响应式变量,表示选项颜色样式,默认为 OptionColorStyle.COLORFUL
  • options: 响应式变量,表示选项配置,从元数据中获取。默认为 []

方法

renderDefaultSlot()
  • 类型: 非响应式方法
  • 描述: 渲染表格枚举选项字段的默认插槽,根据字段值和样式添加 TableEnum 组件。
  • 入参:
    • context (RowContext): 计算上下文信息。
  • 返回值:
    • VNode[] | string: 包含 TableEnum 组件的虚拟节点数组或字符串。
@Widget.Method()
public renderDefaultSlot(context: RowContext): VNode[] | string {}
handleValue()
  • 类型: 非响应式方法
  • 描述: 处理字段值,将字段值转换为对应的选项标签。
  • 入参:
    • value (string | string[] | null | undefined): 字段值。
  • 返回值:
    • string | string[]: 处理后的选项标签或标签数组。
protected handleValue(value: string | string[] | null | undefined): string | string[] {}

如何替换

import {
  SPI,
  ViewType,
  ModelFieldType,
  BaseFieldWidget,
  TableEnumFieldWidget,
} from "@kunlun/dependencies";

@SPI.ClassFactory(
  BaseFieldWidget.Token({
    viewType: ViewType.Table,
    ttype: ModelFieldType.Enum,
  })
)
export class CustomTableEnumFieldWidget extends TableEnumFieldWidget {}