Skip to content

@pmun/utils / createDateShortcuts

Function: createDateShortcuts()

ts
function createDateShortcuts(config): DateShortcutsConfig;

创建日期范围快捷键配置

支持多种输入格式,简化快捷键配置。可以从预设的 commonDateShortcuts 中选择, 也可以自定义快捷键名称和函数。

Parameters

config

快捷键配置,支持以下格式:

  • 字符串数组:从 commonDateShortcuts 中选择预设快捷键
  • 对象数组:自定义键名映射到预设或自定义函数
  • 对象:直接传入快捷键配置对象

DateShortcutsConfig | DateShortcutItem[]

Returns

DateShortcutsConfig

快捷键配置对象

Example

ts
// 方式1: 传入字符串数组(从 commonDateShortcuts 中选择)
const shortcuts = createDateShortcuts(['今天', '本周', '本月'])
// => { 今天: getTodayRange, 本周: getThisWeekRange, 本月: getThisMonthRange }

// 方式2: 传入对象数组(支持自定义键名)
const shortcuts = createDateShortcuts([
  { 今天: '今天' },
  { 这周: '本周' }, // 显示"这周",实际使用"本周"的逻辑
  { 自定义: () => [Date.now() - 86400000, Date.now()] }
])

// 方式3: 直接传入对象(兼容旧方式)
const shortcuts = createDateShortcuts({
  今天: commonDateShortcuts['今天'],
  自定义: () => [Date.now(), Date.now()]
})

// 在 Vue 组件中使用
const shortcuts = createDateShortcuts(['今天', '本周', '本月', '最近7天'])
// 转换为 Element Plus 格式
const elShortcuts = Object.entries(shortcuts).map(([text, value]) => ({ text, value }))