add: dateSelector
This commit is contained in:
71
lib/ui/date.d.ts
vendored
Normal file
71
lib/ui/date.d.ts
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
/**
|
||||
* 创建日期选择框
|
||||
* @param min 最小可选日期
|
||||
* @param max 最大可选日期
|
||||
* @returns 返回创建的日期选择框
|
||||
*/
|
||||
export function createDateInput(min?: string, max?: string): HTMLInputElement;
|
||||
|
||||
/**
|
||||
* 格式化日期字符串
|
||||
* @param date 要格式化的日期值<br/><br/>
|
||||
* 支持以下几种数据类型<br/><br/>
|
||||
* `"2024-01-26"`<br/>
|
||||
* `"1/26/2024"`<br/>
|
||||
* `"638418240000000000"`<br/>
|
||||
* `new Date('2024-01-26')`<br/>
|
||||
* @returns 格式化为 M/d/yyyy 的日期字符串
|
||||
*/
|
||||
export function formatDate(date: Date | number | string): string;
|
||||
|
||||
/**
|
||||
* 设置显示日期
|
||||
* @param element 要设置显示日期的元素
|
||||
* @param val 日期值,支持格式参见 {@linkcode formatDate}
|
||||
*/
|
||||
export function setDateValue(element: HTMLElement, val: Date | number | string): void;
|
||||
|
||||
/**
|
||||
* 从日期选择框获取日期值
|
||||
* @param element 要获取的日期选择框
|
||||
* @param formatter 自定义格式化函数,传入参数为 `Date` 类型
|
||||
* @returns 默认返回日期 `ticks` 的字符串
|
||||
*/
|
||||
export function getDateValue(element: HTMLInputElement, formatter?: (date: Date) => string): string;
|
||||
|
||||
/** 日期选择框类 */
|
||||
export class DateSelector {
|
||||
/**
|
||||
* 日期发生变化时触发的事件
|
||||
* @param date 日期值,或者经自定义参数中格式化函数格式后的值
|
||||
*/
|
||||
onDateChanged?: (date: Date | any) => void;
|
||||
|
||||
/**
|
||||
* 日期选择框构造函数
|
||||
* @param opts 日期选项参数
|
||||
*/
|
||||
constructor(opts: {
|
||||
/** 父容器元素,可以为 `string` 作为选择器 */
|
||||
parent: HTMLElement | string,
|
||||
/** 最小可选择日期 */
|
||||
minDate?: string,
|
||||
/** 最大可选择日期 */
|
||||
maxDate?: string,
|
||||
/**
|
||||
* 自定义格式化函数,用于获取日期值时调用
|
||||
* @param date 日期值
|
||||
* @returns 返回格式化的值
|
||||
*/
|
||||
valueFormatter?: (date: Date) => any
|
||||
});
|
||||
|
||||
get enabled(): boolean;
|
||||
set enabled(flag: boolean);
|
||||
|
||||
get value(): Date | any;
|
||||
set value(val: Date | number | string);
|
||||
|
||||
set minDate(date: string);
|
||||
set maxDate(date: string);
|
||||
}
|
Reference in New Issue
Block a user