@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
71 lines (70 loc) • 3.41 kB
TypeScript
import { PickerOption, PickerOptions, PickerValue } from "../../types";
/**
* 获取指定年份和月份的最后一天
* @param year - 年份
* @param month - 月份(1 到 12)
* @returns 返回该月份的最后一天
*/
export declare function getLastDayOfMonth(year: number, month: number): number;
/**
* 根据类型和日期值,计算并返回日期边界值(年、月、日、时、分、秒)
* @param type 边界类型:'min' 表示最小值,'max' 表示最大值
* @param value 传入的日期值
* @param startDate 传入的开始时间
* @param endDate 传入的结束时间
* @returns 返回包含边界值的对象
*/
export declare const calculateDateBoundary: (type: "min" | "max", value: Date, startDate: Date, endDate: Date) => {
[x: string]: number;
};
/**
* 根据选中的日期和类型,生成日期选择器的范围配置
* @returns {Array} 返回日期选择器的范围配置数组
*/
export declare const generateDatePickerRanges: (type: string, selectedDate: number, startDate: Date, endDate: Date) => {
type: string;
range: number[];
}[];
/**
* 根据类型获取日期对象中对应的值
* @param type 需要获取的日期部分(如 'year', 'month', 'day' 等)
* @param selectedDate 选中的日期时间戳
* @returns 返回日期对象中对应部分的值,如果类型无效或日期无效,返回 0
*/
export declare const getDatePartValue: (type: string, selectedDate: number) => number;
/**
* 生成 Picker 的列数据,并触发回调函数返回选中索引
* @param min 最小值
* @param max 最大值
* @param currentValue 当前选中的值
* @param type 列的类型(如 'year', 'month', 'minute' 等)
* @param minuteStep 分钟步长(仅当类型为 'minute' 时生效)
* @param callback 回调函数,用于返回选中索引
* @returns 返回生成的 Picker 列数据
*/
export declare const generatePickerColumnWithCallback: (min: number, max: number, currentValue: number | string, type: string, minuteStep: number, callback: (selectedIndex: number, options: PickerOptions) => void, showChinese: boolean, zhCNType: {
[key: string]: string;
}, formatter?: (type: string, option: PickerOption) => PickerOption) => PickerOptions;
/**
* 格式化 Picker 选项
* @param type 选项类型(如 'year', 'month', 'minute' 等)
* @param value 选项的值
* @param showChinese 是否显示中文文本
* @param zhCNType 中文文本映射对象
* @param formatter 自定义格式化函数
* @returns 返回格式化后的 Picker 选项
*/
export declare const formatPickerOption: (type: string, value: string | number, showChinese: boolean, zhCNType: {
[key: string]: string;
}, formatter?: (type: string, option: PickerOption) => PickerOption) => PickerOption;
/**
* 格式化日期值,确保其在 startDate 和 endDate 之间
*/
export declare const formatValue: (value: Date | null, startDate: Date, endDate: Date) => number;
/**
* 处理 Picker 值变化的逻辑
* @param selectedOptions 选中的选项数组
* @param selectedValue 选中的值数组
* @param index 当前列的索引
*/
export declare const handlePickerValueChange: (selectedOptions: PickerOptions, selectedValue: PickerValue[], index: number, type: string, defaultDate: Date, handleDateComparison: (newDate: Date | null, selectedOptions: PickerOptions, index: number) => void) => void;