日期
大约 6 分钟
日期
表单
日期时间(FormDateTimeFieldWidget)
表单日期时间基础类,用于在搜索和表单中选择日期和时间。默认使用 FormDateTimeFieldWidget.ts
作为该功能的基类,日期时间选择框字段继承了 FormFieldWidget
。
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Search, ViewType.Form],
ttype: ModelFieldType.DateTime,
})
)
export class FormDateTimeFieldWidget extends FormFieldWidget<string> {}
参数
open
: 响应式变量,表示日期时间选择器打开状态,初始值为false
。format
: 响应式变量,表示日期时间的格式。valueFormat
: 响应式变量,表示日期时间值的格式。dateFormat
: 响应式变量,表示日期格式。timeFormat
: 响应式变量,表示时间格式。allowClear
: 响应式变量,表示是否显示清除按钮,默认值为true
。quickOptions
: 响应式变量,表示快捷选择日期的数组。startDate
: 响应式变量,表示起始日期值。realStartDate
: 响应式变量,表示经过格式化后的实际起始日期值。startDateOffset
: 响应式变量,表示起始日期的偏移量,默认值为 0。startDateOffsetUnit
: 响应式变量,表示起始日期偏移量的单位。endDate
: 响应式变量,表示结束日期值。realEndDate
: 响应式变量,表示经过格式化后的实际结束日期值。endDateOffset
: 响应式变量,表示结束日期的偏移量,默认值为 0。endDateOffsetUnit
: 响应式变量,表示结束日期偏移量的单位。showTimeDefaultValue
: 响应式变量,表示时间选择器的默认时间值。
方法
disabledDate()
- 类型: 响应式方法
- 描述: 判断是否需要禁用特定的日期。
- 入参:
current
(Moment): 当前日期。
- 返回值:
disabled
(boolean): 是否禁用当前日期。
@Widget.Method()
protected disabledDate(current: Moment) {}
disabledTime()
- 类型: 响应式方法
- 描述: 判断是否需要禁用特定的时、分、秒。
- 入参:
e
(Moment): 当前时间。
- 返回值:
disabled
(object): 包含disabledHours
,disabledMinutes
, 和disabledSeconds
的对象,用于禁用相应的时、分、秒,或空对象,表示没有限制。
@Widget.Method()
protected disabledTime(e: Moment) {}
closePanelChange()
- 类型: 响应式方法
- 描述: 关闭面板时的回调函数,包括触发
blur
事件、构建数据回传、清除字段回调以及重新加载表单数据。 - 返回值:
result
(boolean): 是否发生值变化。
@Widget.Method()
public async closePanelChange() {}
openPanelChange()
- 类型: 响应式方法
- 描述: 打开面板时的回调函数,包括设置更新失焦值
blurValue
和打开状态。
@Widget.Method()
public openPanelChange() {}
quickChange()
- 类型: 响应式方法
- 描述: 用于处理快速选项的值变化。
- 入参:
quickOption
(string): 快速选项的名称。
@Widget.Method()
public quickChange(quickOption) {}
changeOpenValue()
- 类型: 响应式方法
- 描述: 用于设置面板的打开状态。
- 入参:
open
(boolean): 面板的打开状态。
@Widget.Method()
public changeOpenValue(open) {}
correctingStartShowTimeDefaultValue()
- 类型: 响应式方法
- 描述: 校正修改的时间,用于确保修改的时间大于开始时间。
- 入参:
e
(Moment): 当前时间。
- 返回值:
correctedValue
(Moment): 校正后的时间值。
@Widget.Method()
public correctingStartShowTimeDefaultValue(e) {}
quickOptionsCompareDisable()
- 类型: 响应式方法
- 描述: 比较快速选项时间是否在合法范围内,不合法则禁用
quickOption
。 - 入参:
quickOption
(string): 快速选项的名称。
- 返回值:
disabled
(boolean): 是否禁用快速选项。
@Widget.Method()
public quickOptionsCompareDisable(quickOption) {}
genLimitTime()
- 类型: 非响应式方法
- 描述: 生成不在开始时间和结束时间范围内,限制的时、分、秒。
- 入参:
startHour
(number): 开始时。endHour
(number): 结束时。startMinute
(number): 开始分。endMinute
(number): 结束分。startSecond
(number): 开始秒。endSecond
(number): 结束秒。
- 返回值:
{disabledHours: () => number[];disabledMinutes: () => number[];disabledSeconds: () => number[];}
: 包含验证信息的 Promise 对象。
public async genLimitTime(startHour, endHour, startMinute, endMinute, startSecond, endSecond) {}
genDefaultFormat()
- 类型: 非响应式方法
- 描述: 生成默认日期时间的格式。
- 返回值:
defaultFormat
("YYYY-MM-DD HH:mm:ss" | "YYYY-MM-DD"): 默认日期时间格式。
public genDefaultFormat(): "YYYY-MM-DD HH:mm:ss" | "YYYY-MM-DD" {}
defaultConstructDataTrigger()
- 类型: 非响应式方法
- 描述: 默认构建数据的触发器数组,为
[WidgetTrigger.CUSTOM]
。 - 返回值:
defaultTriggers
(WidgetTrigger[]): 触发器数组。
public defaultConstructDataTrigger() {}
defaultClearFieldsTrigger()
- 类型: 非响应式方法
- 描述: 默认清除字段的触发器数组,为
[WidgetTrigger.CUSTOM]
。 - 返回值:
defaultTriggers
(WidgetTrigger[]): 触发器数组。
public defaultClearFieldsTrigger() {}
validator()
- 类型: 非响应式方法
- 描述: 异步验证日期时间选择框的值。执行父类的验证逻辑,然后执行日期范围验证。
- 返回值:
Promise<ValidatorInfo>
: 包含验证信息的 Promise 对象。
public async validator(): Promise<ValidatorInfo> {}
如何替换
import {
SPI,
ViewType,
ModelFieldType,
FormFieldWidget,
FormDateTimeFieldWidget,
} from "@kunlun/dependencies";
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Search, ViewType.Form],
ttype: ModelFieldType.DateTime,
})
)
export class CustomFormDateTimeFieldWidget extends FormDateTimeFieldWidget {}
表格
日期时间(TableDateTimeCellWidget)
表格日期时间基础类,用于处理日期时间的通用功能。默认使用 TableDateTimeFieldWidget.ts
作为该功能的基类,日期时间选择框字段继承了 BaseTableFieldWidget
。
@SPI.ClassFactory(
BaseFieldWidget.Token({
viewType: ViewType.Table,
ttype: [ModelFieldType.DateTime],
})
)
export class TableDateTimeFieldWidget extends BaseTableFieldWidget<
string | Date
> {}
属性
format
: 非响应式变量,表示Dsl
配置的日期时间格式。defaultFormat
: 非响应式变量,表示默认的日期时间格式,为'YYYY-MM-DD HH:mm:ss'
。valueFormat
: 非响应式变量,表示字段值的日期时间格式,默认为'YYYY-MM-DD HH:mm:ss'
。hasDateFormat
: 非响应式变量,表示是否包含日期格式,初始值为true
。hasTimeFormat
: 非响应式变量,表示是否包含时间格式,初始值为true
。
方法
renderDefaultSlot()
- 类型: 响应式方法
- 描述: 根据字段配置和行数据上下文对象渲染日期时间字段的默认插槽。
- 入参:
context
(RowContext): 渲染上下文信息。
- 返回值:
cv
(string): 渲染后的日期时间字符串。
@Widget.Method()
public renderDefaultSlot(context: RowContext): string {}
getDateFormat()
- 类型: 非响应式方法
- 描述: 根据字段配置和行数据上下文对象拿到日期格式。
- 入参:
context
(RowContext): 渲染上下文信息。
- 返回值:
- (string | undefined): 日期格式字符串。
@Widget.Method()
public getDateFormat(context: RowContext): string|undefined {}
getTimeFormat()
- 类型: 非响应式方法
- 描述: 根据字段配置和行数据上下文对象拿到时间格式。
- 入参:
context
(RowContext): 渲染上下文信息。
- 返回值:
- (string | undefined): 时间格式字符串。
@Widget.Method()
public getTimeFormat(context: RowContext): string|undefined {}
convertFormat()
- 类型: 非响应式方法
- 描述: 根据格式标识拿到日期时间格式。
- 入参:
format
(stirng): 格式标识。
- 返回值:
- (string | undefined): 日期时间格式字符串。
@Widget.Method()
public convertFormat(format: string): string|undefined {}
convertDateFormat()
- 类型: 非响应式方法
- 描述: 根据格式标识拿到日期格式。
- 入参:
format
(stirng): 格式标识。
- 返回值:
- (string | undefined): 日期格式字符串。
@Widget.Method()
public convertDateFormat(format: string): string|undefined {}
convertTimeFormat()
- 类型: 非响应式方法
- 描述: 根据格式标识拿到时间格式。
- 入参:
format
(stirng): 格式标识。
- 返回值:
- (string | undefined): 时间格式字符串。
@Widget.Method()
public convertTimeFormat(format: string): string|undefined {}
如何替换
import {
SPI,
ViewType,
ModelFieldType,
BaseFieldWidget,
TableDateTimeFieldWidget,
} from "@kunlun/dependencies";
@SPI.ClassFactory(
BaseFieldWidget.Token({
viewType: ViewType.Table,
ttype: [ModelFieldType.DateTime],
})
)
export class CustomTableDateTimeFieldWidget extends TableDateTimeFieldWidget<
string | Date
> {}