即将登陆 Salesforce AppExchange

Date:Salesforce 多日期与日期范围选择器

需要多少日期就单击多少,拖动选择日期范围,或添加循环模式。每个日期都保存到您的 Salesforce 记录中。

或立即在线试用 MultiDatePick,无需登录 →

可用于屏幕 Flow(Screen Flow)、记录页面、应用程序页面和主页,以及 Experience Cloud 站点。五种视图,无需 Apex。

Salesforce 中 MultiDatePick Dates 组件的动画演示:为休假申请命名,拖动选中感恩节那周的三天,单击加上周五,四天一次全部保存
拖动选中三天,再单击第四天,四天一次全部保存。
在线试用:无需安装,无需登录

在浏览器中在线试用 MultiDatePick

公开 Salesforce 站点上的真实组件:虚构的 ACME Financial。选择日期和空闲时间段,查看状态颜色和后台管理界面。每小时重置一次。

打开在线演示 →
支持 9 种语言

用户看到的是自己的语言

每个标签、按钮和消息都跟随每位用户的 Salesforce 语言设置,无需任何配置。

在 Salesforce 中允许选择多个日期

标准 Salesforce 日期字段只能存一个日期。Date 组件则能存下用户选中的所有日期。

您的需求标准日期字段MultiDatePick Date
多个零散日期✗每个日期一个字段✓想单击多少天都行
开始和结束日期✗手动输入两个日期✓在日历上拖动选择
隔周的周一✗逐个输入✓一个循环模式搞定
每个日期单独的状态✗做不到✓按任意选项列表着色
之后修改日期✗逐条编辑记录✓编辑模式,直接在日历上改
用在屏幕 Flow 中✗每个日期一个输入框✓一个 Text 集合或范围 JSON

单击、拖动或重复:三种选择日期的方式

一次选择中可以混用三种方式。“撤消”和“全部清除”随时一键可用。

1单击选择任意单个日期,可以分散在整个月里。
2拖动拖过多天,一步选中一个日期范围。
3循环模式工作日、周末或自定义日期。每 N 周一次。每月第 1、2、3、4 次或最后一次出现,例如第 2 和第 4 个周五或最后一个周六。
MultiDatePick Salesforce 日期选择器中循环日期模式的动画演示:添加循环模式,选择自定义日期、周五、第 2 和第 4 次出现、三个月后的结束日期,预览六个周五,然后单击“添加日期”,将它们填入双月日历
一个季度内每月第 2 和第 4 个周五,一个模式搞定。

不只是日期选择器

60 多个属性,全部点选设置。亮点如下:

MultiDatePick 中的 Salesforce 多日期日历:候选人空闲时间月历,日期按 Confirmed、Tentative 和 Pending 着色,混合两种状态的日期上数字标记像饼图一样分割,并有用于新日期的状态选择器

状态颜色

把任意选项列表值映射为颜色。有两种状态的日期会同时显示两种颜色。

MultiDatePick 中的 Salesforce 双月日期选择器:2026 年 11 月和 12 月并排显示,日期按状态着色,方便跨月规划

双月视图

两个月并排显示,适合长日期范围和季度规划。

Salesforce 日历上 MultiDatePick 编辑模式的动画演示:选中两天的 Requested 记录,“全选”选中两者,将状态改为 Confirmed,单击“应用更改”后这两天变为绿色

编辑模式

直接在日历上批量审批、移动或删除已保存的日期。

  • 悬停弹出框显示您的字段
  • 屏蔽日期可来自任意对象
  • 最早和最晚日期
  • 最多可选日期数
  • 预选日期
  • 仅限指定日期可选
  • 保存时选择第二个选项列表
  • 自动命名记录
  • 每周从周一开始
  • 小、中、大
  • 9 种语言
  • WCAG 2.1 AA

同一批日期记录,五种视图

同样的记录,同样的保存方式。用视图设置默认视图,用可用视图提供其余视图。

MultiDatePick Salesforce 日历视图的动画演示:整月按状态着色,悬停某一天会弹出卡片,按名称、时间和状态列出当天的记录

哪些日子?

  • 一次一个月,每天显示状态颜色
  • 单击或拖动选择
  • 悬停某一天查看当天记录
  • 默认视图

一个组件,五种布局。演示使用的是示例预约数据;Date 日历会用它自己的日期记录绘制同样的视图。

记录如何保存:对象与字段映射

选择一种记录形状。保存只会新增记录,绝不会删除已有记录。

每个日期一条记录日一二三四五六5 条记录周一周二周三周四周五报名回复、出勤、值班日、检查。默认。
每个日期范围一条记录日一二三四五六1 条记录周二开始,周六结束休假、出差、多日工作、场地布置。设置 End Date Field API Name。周一到周五是一条记录,而不是五条。
您的子对象设置项示例
存储日期的对象子对象 API 名称Trip_Date__c
日期(或范围开始)日期字段 API 名称Date__c
指向父记录的查找字段关系字段 API 名称Trip__c
范围结束 可选End Date Field API NameEnd_Date__c
状态选项列表 可选Status Field + Status ColorsStatus__c、Approved:green,Pending:orange
悬停详情 可选悬停字段Name,Status__c
屏蔽日期 可选Blocked Dates Object、Date Field、Filter FieldHoliday__c、Date__c

无需输入 API 名称。在设置向导中,每个对象和字段都是下拉列表。

Salesforce 多日期选择器的用例

团队使用 Date 的 15 种方式。大多数在 Config Library 中都有现成配置。

带薪休假与假期申请

周一到周五保存为一个范围。Pending、Approved、Denied 一目了然。

  • 日期范围
  • 状态颜色
  • 循环

值班轮换

一个季度内隔周的周一,单击两次即可。Primary、Backup、Swapped。

  • 每 N 周
  • 第 1 个到最后一个
  • 加载已有记录

活动出席与报名回复

每个活动日期一条报名记录。已保存的报名会显示出来,避免重复。

  • 每个日期一条
  • 加载已有记录
  • 状态颜色

项目里程碑与截止日期

项目记录上的里程碑和评审日期,每个都带标签。

  • 双月视图
  • 记录名称

设施禁用日期

标记节假日和关闭日。其他日历会自动将其置灰。

  • 屏蔽日期
  • 任意对象

内容发布日历

每周二和周四,一个模式搞定。移动日期即可改期。

  • 循环
  • 悬停弹出框
  • 编辑模式

现场服务多日工作

拖动选中周一到周五,生成一条工作记录。已有工作会显示出来,防止重叠。

  • 日期范围
  • 加载已有记录
  • 状态颜色

培训与课程报名

选择多周课程的上课日。停课的日期会置灰。

  • 屏蔽日期
  • 循环

订阅与续约跟踪

批量记录续约日期,并自动命名,例如“Q3 Renewal”。

  • 双月视图
  • 默认记录名称

审计与合规日程

整个财年每月第 1 个周一,按状态跟踪。

  • 按月出现次数
  • 状态颜色

设备检查与维护

每条资产记录上的检查日期,自动跳过设施关闭日。

  • 记录页面
  • 悬停弹出框
  • 屏蔽日期

房产看房时间

房源上的开放看房日期。在您的站点上提供只读的公开日历。

  • Experience Cloud
  • 只读

销售区域拜访计划

每位销售代表哪几天在哪个区域,多日拜访记为一条记录。

  • 日期范围
  • 循环

活动场地预订日期

多日活动以及布场、撤场日都各记为一条记录。

  • 日期范围
  • 状态颜色

循环任务截止日期

十月的每个周三,或每月最后一个工作日。

  • 循环
  • 每个日期一条

还需要时间或资源?Date Time 增加时间网格;Booking 增加会议室、人员和容量。

放到 Lightning 页面上

记录页面、应用程序页面、主页和 Experience Cloud 页面。日期直接保存为子记录,完全不需要 Flow。

1先准备好一个子对象,包含日期字段和指向父记录的查找字段。可选:结束日期和状态。
2放上去在 Lightning App Builder 中把 Dates 拖到页面上,设置 Config Name。只需这一项设置。
3得到什么每个日期或每个范围一条记录,关联到页面上的记录。Load Existing Dates 显示已保存的内容。
页面您需要设置的内容
记录页面Config Name。页面上的记录自动成为父记录。
应用程序页面和主页Config Name 加上 Static Parent Record Id。
Experience CloudConfig Name 加上 Static Parent Record Id。开启 Show In-Component Toast。
相关记录的页面Parent Record Id Field:指向真正父记录的查找字段。
导入 MultiDatePick 配置的动画演示:在网站的 Config Library 中复制“员工休假申请”卡片,粘贴到设置向导的“导入”选项卡,确认每个字段都已匹配并部署,然后在 Lightning App Builder 中将 MultiDatePick Dates 组件拖到 Lightning 页面上,填写 Config Name(配置名称)并保存
记录页面:导入一个休假配置,把 Dates 拖到页面上,输入配置名称。
为 Date 组件设置 Config Name 的动画演示:在 MultiDatePick 设置向导中复制 Employee_Time_Off,在 Lightning App Builder 中把 Date 组件拖到页面上,粘贴 Config Name 并填写 Static Parent Record Id,休假日历随即显示,所有设置均来自该配置
应用程序页面:在设置向导中复制配置名称,然后连同父记录 Id 一起粘贴。
保存后显示摘要视图开启 Show Inline (Always Visible) 和 Show Done Button in Inline Mode:保存后日历会折叠为显示所选日期的摘要卡片,单击即可再次展开。

在屏幕 Flow 中选择多个日期

把 Dates 拖到屏幕上,设置 Config Name。所有复选框都来自您的设置向导配置。

1先准备好一个用于存放日期的 Text 集合变量。如需日期范围,再准备一个 Text 变量。
2放上去设置 Config Name,然后把 Selected Dates (Output) 映射到您的集合。
3得到什么日期存入您的变量,可直接循环处理。设置 Parent Record Id 后还会同时保存记录。
输出Flow 收到什么
Selected Dates (Output)ISO 日期的 Text 集合:["2026-07-10","2026-07-14"]
Date Ranges JSON (Output)相邻日期合并为范围。需要开启 Output Date Ranges as JSON。
Parse Date Entries from JSON内置 Flow 操作:把 JSON 转换为可循环处理的 fromDate / toDate 条目。

仅限 Flow 的设置默认关闭,需要时再开启:Required、Show Inline (No Button) 和 Output Date Ranges as JSON。完整用法见 Flow 速查表。

Salesforce 屏幕 Flow(Screen Flow)休假申请的动画演示:用户在 MultiDatePick 日历上单击三天并提交,下一个 Flow 屏幕列出 Flow 收到的三个日期
选中三天,三个日期传到下一个屏幕。

规格

Date 组件概览。

安全已通过 Salesforce AppExchange 安全审查
数据100% 原生:您的数据始终留在 Salesforce 中。没有外部服务器,没有外部调用 (callout)。
Salesforce 版本Enterprise、Unlimited、Performance、Developer 和 Salesforce Platform,以及各行业云。不支持 Essentials 或 Professional。
使用位置屏幕 Flow、Lightning 记录页面、应用程序页面、主页、Experience Cloud 站点
选择方式单击单个日期、拖动选择日期范围、循环模式
循环模式工作日、周末、自定义日期;每 N 周;每月第 1、2、3、4 次或最后一次出现
保存为每个日期一条记录,或借助结束日期字段每个日期范围一条记录。保存只做新增。
Flow 输出Selected Dates(ISO 日期的 Text 集合)、Date Ranges JSON + Parse Date Entries from JSON
限制最多可选日期数、最早和最晚日期、是否允许过去的日期、来自任意对象的屏蔽日期
视图5 种:日历、时间轴、周、使用率、日程。另有双月布局。
语言9 种:英语、西班牙语、法语、德语、意大利语、日语、印地语、巴西葡萄牙语、简体中文
属性60 多个,全部点选设置。完整参考
设置设置向导、Lightning App Builder 或 Flow Builder。无需 Apex。
Salesforce API 版本63.0

一个方案,全部组件

Date、Date Time 和 Booking 都包含在同一个用户许可中。

$20/用户/月
  • 30 天免费试用
  • 无需信用卡
  • 全部三个组件
  • 今后所有升级
查看价格

多日期选择器常见问题

简短作答。更多内容见常见问题页面。

Salesforce 日期字段能存多个日期吗?

不能。一个标准日期字段只能存一个日期,一对字段只能存一个范围。MultiDatePick 把用户选中的每个日期都保存为父记录的相关子记录,所以一条记录可以有任意多个日期,每个日期都有自己的状态。

如何在 LWC 中选择日期范围?

把 MultiDatePick Date 组件放到页面上,拖动选中各天即可。设置 End Date Field API Name(结束日期字段 API 名称)后,相邻的日期会保存为一条带开始和结束日期的记录,周一到周五就是一条记录,而不是五条。无需自己开发 LWC。

能在屏幕 Flow 中选择多个日期吗?

能。把 Date 组件拖到 Flow 屏幕上,设置 Config Name。Selected Dates (Output) 以 ISO 日期的 Text 集合返回每个选中的日期。开启 Output Date Ranges as JSON 后,Parse Date Entries from JSON 操作会提供可循环处理的起止日期。

用户能选择循环日期吗,比如隔周的周一?

能。“添加循环模式”按钮可在开始日期和结束日期之间选择工作日、周末或自定义日期,每 N 周重复一次,还可限定为每月第 1、2、3、4 次或最后一次出现。

能在 Experience Cloud 站点上显示公开的日期日历吗?

能。把 Date 组件放到 Experience Cloud 页面上,设置 Static Parent Record Id。将 Existing Dates Mode 设为 readonly,即可显示已保存的日期而不允许访客修改;再开启 Show In-Component Toast 来显示保存消息。

MultiDatePick Date 组件多少钱?

MultiDatePick 每用户每月 $20,30 天免费试用,无需信用卡。Date、Date Time 和 Booking 组件全部包含在内。

属性参考

按您在 App Builder 和 Flow Builder 中看到的标签排列。设置 Config Name 后,向导会自动填好所有这些属性。

全部属性参考

设置

配置名称(Config Name)configName一个已保存的设置向导配置,会加载其他所有设置。

视图

视图(View)view打开时的布局:calendar(默认)、timeline、week、utilization、agenda。
可用视图(Available Views)availableViews切换器中的视图,例如 calendar,timeline,agenda。留空则提供全部五种。
时间轴窗口(天)(Timeline Window (Days))timelineWindowDays时间轴同时显示的天数。默认 14;设为 0 显示整月。
时间轴缩放(Timeline Zoom)timelineZoom初始缩放:day、week(默认)或 month。
Agenda FieldsagendaFields每个日程行上显示的额外字段。留空则沿用 Hover Popover Fields。

显示

Button Label Flowlabel打开选择器的按钮上的文字。默认为“选择日期”。
Calendar TitlemodalTitle日历顶部的标题。默认为“选择日期”。
Show InlineshowInline日历始终可见,不显示按钮。在页面上默认开启,在 Flow 中默认关闭。
Two-Month ViewtwoMonthView两个月并排显示。
日历大小(Calendar Size)calendarSizetiny、xsmall(Very Small)、small、medium(默认)或 large。Tiny 和 Very Small 适合实用工具栏、侧边栏和仪表板磁贴。
Day Header FormatdayHeaderFormat3 = SUN MON,2 = SU MO,1 = S M。
Week Starts on MondayweekStartsOnMonday每周从周一开始,而不是周日。
显示循环模式(Show Recurring Pattern Button)showRecurringPattern“添加循环模式”按钮。默认开启。
Show Selection SummaryshowSelectedSummary显示所选日期的数量和范围。默认开启。
Show Done Button in Inline ModeshowDoneButtonInline单击“完成”后日历折叠为摘要卡片。默认在 Flow 中开启,在页面上关闭。
Required Flowrequired至少选择一个日期,Flow 才能继续。

限制

Max Dates AllowedmaxSelections用户最多可选的日期数。0 = 不限。
Allow Past DatesallowPastDates关闭 = 只能选今天及以后。默认开启。
Earliest Selectable Date FlowminDate可以选择的第一天。
Latest Selectable Date FlowmaxDate可以选择的最后一天。
Book Up To (Days Ahead)maxDaysAhead滚动窗口:今天加上这么多天,每天向前推移。0 表示不限。
Minimum Notice (Hours)minNoticeHours不允许选择从现在起这么多小时内开始的日期。24 表示至少提前一天。
Pre-Selected Dates FlowdefaultDates打开时已选中的日期(YYYY-MM-DD)。
Blocked Dates FlowdisabledDates不能选择的日期,显示为灰色。
Only These Dates Are Selectable FlowavailableDates其他日期全部禁用。适用于开庭日、课程等。
Auto-Jump to First Available Date FlowautoJumpToFirstAvailable打开时直接显示第一个可选日期所在的月份。

状态与颜色

状态字段(Status Field)statusField为每个日期着色的选项列表或文本字段。
状态颜色(Status Colors)statusColors例如 Approved:green,Pending:orange,Denied:red。可用颜色名称或十六进制代码。
Status Color DisplaystatusColorDisplaycalendar:日期单元格采用状态颜色。
Status Field LabelstatusFieldLabel状态选择器的标签。留空则使用字段名称。
Selectable Statuses (Status Picker)selectableStatuses用户可以设置的值,例如公开站点上只允许 Requested。只有一个值时会隐藏选择器。
Ignored StatuseshideBookingsWithStatus不在日历上显示的状态,例如 Cancelled。
Second Picklist FieldsecondStatusField保存时选择的第二个选项列表,例如 Reason__c。不参与着色。
Second Picklist LabelsecondStatusFieldLabel第二个选项列表的标签。
Selectable Second-Picklist ValuesselectableSecondStatuses允许的值。只有一个值时会自动应用并隐藏。
悬停字段hoverFields悬停卡片中的字段,例如 Name,Status__c。
Show In-Component ToastshowSuccessToast在组件内部显示保存消息。适用于 Experience Cloud。
Show Add to Calendar After SavingshowAddToCalendar保存后提供一个 .ics 文件,每个日期一个全天事件,可用于 Outlook、Google 或 Apple 日历。
Success Toast Message (optional)successToastMessage自定义保存消息。

编辑模式

启用编辑模式(Enable Edit Mode)enableEditMode“编辑”按钮:更改状态、移动或删除已保存的日期。默认开启。
Edit Button LabeleditButtonLabel“编辑”按钮的自定义文字。
Edit Record DisplayeditRecordDisplay每行显示的详情,按顺序:name、status、date。默认为 name, status, time。

记录名称

Record Name FieldrecordNameField为每条记录存储名称的文本字段。
Default Record NamedefaultRecordName例如“休假日”或“值班”。
Append Date to Record NameappendDateTimeToName“休假日 - 2026-07-10”。默认开启。

保存记录

子对象 API 名称relatedObjectApiName保存每个日期的对象。
日期字段 API 名称dateFieldApiName该对象上的日期字段。
End Date Field API NameendDateField相邻日期保存为一条带开始和结束日期的记录。
关系字段 API 名称relationshipFieldApiName每条记录指向父记录的查找字段。
Parent Record Id FlowrecordId保存到的父记录,例如 {!recordVar.Id}。留空 = 只输出,不保存。
Static Parent Record Id 页面staticRecordId应用程序页面、主页和 Experience 页面使用的父记录。
Parent Record Id FieldparentRecordIdField当页面属于另一条记录时:指向真正父记录的查找字段。
Load Existing DatespreloadExistingDates加载时显示已保存的日期。默认开启。
Existing Dates ModepreloadModeeditable(默认)或 readonly。
保存按钮标签(Save Button Label)saveButtonLabel“保存”按钮上的文字。默认为“保存”。

屏蔽日期对象

Blocked Dates ObjectblockedDatesSourceObject其日期被屏蔽的对象,例如节假日。
Blocked Dates Date FieldblockedDatesDateField该对象上的日期字段。
Blocked Dates Filter FieldblockedDatesFilterField指向本记录的查找字段,或用于筛选的字段。留空则对所有人屏蔽。
Blocked Dates Filter ValueblockedDatesFilterValue筛选字段必须匹配的值,例如 Holiday。

Flow 输出

Output Date Ranges as JSON FlowoutputAsJson填充 Date Ranges JSON (Output)。
Selected Dates (Output)selectedDates每个选中的日期,ISO 格式(YYYY-MM-DD)。
Date Ranges JSON (Output)selectedDateRangesJson相邻日期合并为 fromDate / toDate。

用户需要的每个日期,都能轻松选中

即将登陆 Salesforce AppExchange。上线当天第一时间通知您。

有疑问或功能需求?Support@MultiDatePick.com