{"id":123785,"date":"2026-11-08T05:33:28","date_gmt":"2026-11-07T21:33:28","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/123785.html"},"modified":"2026-11-08T05:33:28","modified_gmt":"2026-11-07T21:33:28","slug":"vue3%e6%97%a5%e6%9c%9f%e9%80%89%e6%8b%a9%e5%99%a8%ef%bc%88datepicker%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/123785.html","title":{"rendered":"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09"},"content":{"rendered":"<h3>\u6548\u679c\u5982\u4e0b\u56fe&#xff1a;<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213317-6aef991daee84.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213318-6aef991e684c5.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213319-6aef991faf0de.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213321-6aef99217b11a.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213321-6aef9921e8d21.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213323-6aef992313713.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213324-6aef99242185f.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213325-6aef9925722c1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213325-6aef9925cafb9.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/> <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213326-6aef99264bfde.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u5728\u7ebf\u9884\u89c8<\/h3>\n<h3>APIs<\/h3>\n<p>\u53d7\u63a7 \/ \u975e\u53d7\u63a7&#xff1a;\u4f20\u5165 v-model:value \u5373\u53d7\u63a7&#xff0c;\u7ec4\u4ef6\u53ea\u7ecf update:value \u4e0a\u62a5&#xff1b;\u4e0d\u4f20\u65f6\u7531\u7ec4\u4ef6\u81ea\u6301&#xff0c;\u53ef\u7528 defaultValue \u6307\u5b9a\u521d\u503c\u3002\u4e24\u8005\u540c\u65f6\u4f20\u65f6\u4ee5 value \u4e3a\u51c6\u3002<\/p>\n<h4>DatePicker Props<\/h4>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b\u9ed8\u8ba4\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">value v-model<\/td>\n<td align=\"left\">\u53cc\u5411\u7ed1\u5b9a\u503c&#xff0c;\u6beb\u79d2\u65f6\u95f4\u6233&#xff1b;\u8303\u56f4\u5f62\u6001\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u67d0\u6bb5\u53ef\u4e3a null&#xff1b;\u4f20\u5165\u5373\u53d7\u63a7&#xff0c;\u4e0d\u4f20\u65f6\u7ec4\u4ef6\u81ea\u6301&#xff08;\u53ef\u7528 defaultValue \u6307\u5b9a\u521d\u503c&#xff0c;\u7f3a\u7701\u65e0\u9009\u4e2d\u503c&#xff09;<\/td>\n<td align=\"left\">number | [number | null, number | null] | null<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">defaultValue<\/td>\n<td align=\"left\">\u975e\u53d7\u63a7\u521d\u59cb\u503c&#xff0c;\u672a\u7ed1 v-model:value \u65f6\u751f\u6548&#xff1b;\u4e0e\u9762\u677f\u521d\u59cb\u65e5\u671f defaultPickerValue\u3001\u9ed8\u8ba4\u65f6\u5206\u79d2 defaultTime \u4e0d\u540c&#xff0c;\u672c\u5b57\u6bb5\u51b3\u5b9a\u9009\u4e2d\u503c\u672c\u8eab<\/td>\n<td align=\"left\">number | [number | null, number | null] | null<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">open v-model<\/td>\n<td align=\"left\">\u9762\u677f\u662f\u5426\u5c55\u5f00&#xff1b;\u4f20\u5165\u5373\u53d7\u63a7&#xff0c;\u5185\u90e8\u89e6\u53d1\u53ea\u7ecf update:open \/ openChange \u4e0a\u62a5&#xff08;\u4e0d\u4f20\u65f6\u7531\u7ec4\u4ef6\u5185\u90e8\u7ef4\u62a4&#xff0c;\u7f3a\u7701\u6536\u8d77&#xff09;<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">formattedValue v-model<\/td>\n<td align=\"left\">\u5b57\u7b26\u4e32\u8f68\u9053\u7684\u53cc\u5411\u7ed1\u5b9a\u503c&#xff0c;\u4f20\u5165\u65f6\u4ee5\u5b83\u4e3a\u51c6&#xff08;\u53d7\u63a7&#xff09;&#xff1b;\u663e\u793a\u683c\u5f0f\u7531 format \/ valueFormat \u51b3\u5b9a<\/td>\n<td align=\"left\">string | [string, string] | null<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">type<\/td>\n<td align=\"left\">\u9009\u62e9\u5f62\u6001<\/td>\n<td align=\"left\">DatePickerType<\/td>\n<td align=\"left\">\u2018date\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">format<\/td>\n<td align=\"left\">\u65e5\u671f\u5c55\u793a\u683c\u5f0f&#xff0c;\u672a\u4f20\u65f6\u6309 DefaultFormat&#xff0c;\u53c2\u8003 format<\/td>\n<td align=\"left\">string<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">valueFormat<\/td>\n<td align=\"left\">\u7ed1\u5b9a\u503c\u683c\u5f0f&#xff0c;\u9ed8\u8ba4\u4e0e format \u76f8\u540c<\/td>\n<td align=\"left\">string<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">placeholder<\/td>\n<td align=\"left\">\u8f93\u5165\u6846\u63d0\u793a\u6587\u5b57&#xff0c;\u8303\u56f4\u5f62\u6001\u53ef\u4f20\u5165\u4e24\u6bb5\u6587\u6848<\/td>\n<td align=\"left\">string | [string, string]<\/td>\n<td align=\"left\">\u2018\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">defaultPickerValue<\/td>\n<td align=\"left\">\u9762\u677f\u521d\u59cb\u65e5\u671f&#xff08;\u6beb\u79d2\u65f6\u95f4\u6233&#xff09;&#xff0c;\u9ed8\u8ba4\u53d6 value \u6216\u4eca\u5929<\/td>\n<td align=\"left\">number<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">startDayOfWeek<\/td>\n<td align=\"left\">\u4e00\u5468\u7684\u5f00\u59cb\u662f\u661f\u671f\u51e0&#xff0c;0-6&#xff0c;0 \u662f\u5468\u4e00&#xff1b;\u5468\u5f62\u6001\u6052\u6309 ISO \u5468&#xff08;\u5468\u4e00\u8d77\u59cb&#xff09;&#xff0c;\u8be5\u5c5e\u6027\u5bf9\u5468\u5f62\u6001\u4e0d\u751f\u6548<\/td>\n<td align=\"left\">0 | 1 | 2 | 3 | 4 | 5 | 6<\/td>\n<td align=\"left\">0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">disabledDate<\/td>\n<td align=\"left\">\u4e0d\u53ef\u9009\u62e9\u7684\u65e5\u671f&#xff0c;\u5165\u53c2\u4e3a\u300c\u5f53\u65e5\u96f6\u70b9\u300d\u7684\u6beb\u79d2\u65f6\u95f4\u6233&#xff1b;\u6708 \/ \u5b63 \/ \u5e74\u5f62\u6001\u4e0b\u6309\u6574\u6bb5\u5224\u5b9a&#xff08;\u6574\u6bb5\u90fd\u4e0d\u53ef\u9009\u8be5\u683c\u624d\u7981\u7528&#xff09;<\/td>\n<td align=\"left\">(timestamp: number) &#061;&gt; boolean<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">disabledTime<\/td>\n<td align=\"left\">\u4e0d\u53ef\u9009\u62e9\u7684\u65f6\u95f4&#xff0c;\u4ec5\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u751f\u6548&#xff1b;\u5165\u53c2\u4e3a\u5f53\u524d\u9762\u677f\u8349\u7a3f\u503c\u7684\u65f6\u95f4\u6233&#xff0c;\u8303\u56f4\u5f62\u6001\u989d\u5916\u63a5\u6536\u6bb5\u6807\u8bc6<\/td>\n<td align=\"left\">DatePickerDisabledTime | DatePickerRangeDisabledTime<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">defaultTime<\/td>\n<td align=\"left\">\u9009\u4e2d\u65e5\u671f\u65f6\u7684\u9ed8\u8ba4\u65f6\u5206\u79d2&#xff08;\u53ea\u53d6\u5176\u4e2d\u7684\u65f6\u5206\u79d2&#xff0c;\u4e0d\u53c2\u4e0e\u65f6\u95f4\u9762\u677f\u7684\u9884\u9009\u5c55\u793a&#xff09;&#xff1b;\u8303\u56f4\u5f62\u6001\u53ef\u6309\u6bb5\u4f20\u5165\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u67d0\u6bb5\u4e3a undefined \u65f6\u8be5\u6bb5\u9000\u56de\u5f53\u524d\u65f6\u523b<\/td>\n<td align=\"left\">number | [number | undefined, number | undefined]<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">timePickerProps<\/td>\n<td align=\"left\">\u65f6\u95f4\u9762\u677f\u9009\u9879&#xff08;\u6b65\u957f \/ 12 \u5c0f\u65f6\u5236 \/ \u9690\u85cf\u7981\u7528\u9879&#xff09;<\/td>\n<td align=\"left\">DatePickerTimeProps<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">presets<\/td>\n<td align=\"left\">\u9884\u8bbe\u9009\u9879&#xff0c;\u70b9\u51fb\u5373\u63d0\u4ea4\u5e76\u6536\u8d77<\/td>\n<td align=\"left\">DatePickerPreset[]<\/td>\n<td align=\"left\">[]<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">width<\/td>\n<td align=\"left\">\u9009\u62e9\u5668\u5bbd\u5ea6&#xff0c;\u5355\u4f4d px&#xff0c;\u4e0d\u4f20\u65f6\u968f\u5185\u5bb9\u81ea\u9002\u5e94<\/td>\n<td align=\"left\">string | number<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">size<\/td>\n<td align=\"left\">\u9009\u62e9\u5668\u5927\u5c0f<\/td>\n<td align=\"left\">\u2018small\u2019 | \u2018middle\u2019 | \u2018large\u2019<\/td>\n<td align=\"left\">\u2018middle\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">status<\/td>\n<td align=\"left\">\u6821\u9a8c\u72b6\u6001<\/td>\n<td align=\"left\">\u2018warning\u2019 | \u2018error\u2019<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">bordered<\/td>\n<td align=\"left\">\u662f\u5426\u5c55\u793a\u8fb9\u6846<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">true<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">disabled<\/td>\n<td align=\"left\">\u662f\u5426\u7981\u7528&#xff1b;\u8303\u56f4\u5f62\u6001\u53ef\u4f20\u4e24\u6bb5\u5143\u7ec4\u9010\u6bb5\u7981\u7528&#xff08;\u88ab\u7981\u7528\u7684\u6bb5\u4e0d\u53ef\u8f93\u5165&#xff0c;\u4e14\u8be5\u6bb5\u65e5\u671f\u88ab\u5bf9\u7aef\u7684\u503c\u9501\u6b7b&#xff09;<\/td>\n<td align=\"left\">boolean | [boolean, boolean]<\/td>\n<td align=\"left\">false<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">allowClear<\/td>\n<td align=\"left\">\u662f\u5426\u5c55\u793a\u6e05\u9664\u6309\u94ae<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">true<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">allowEmpty<\/td>\n<td align=\"left\">\u8303\u56f4\u5f62\u6001\u5404\u6bb5\u662f\u5426\u5141\u8bb8\u4e3a\u7a7a&#xff0c;\u4e3a\u7a7a\u65f6\u8be5\u6bb5\u53ef\u88ab\u5355\u72ec\u6e05\u7a7a\u5e76\u5bf9\u5916\u63d0\u4ea4<\/td>\n<td align=\"left\">[boolean, boolean]<\/td>\n<td align=\"left\">[false, false]<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">inputReadOnly<\/td>\n<td align=\"left\">\u8f93\u5165\u6846\u662f\u5426\u53ea\u8bfb&#xff08;\u907f\u514d\u79fb\u52a8\u7aef\u5524\u8d77\u952e\u76d8&#xff09;<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">false<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">to<\/td>\n<td align=\"left\">\u9762\u677f\u6302\u8f7d\u7684\u5bb9\u5668\u8282\u70b9&#xff1a;\u663e\u5f0f\u4f20\u5165\u65f6\u6309\u6b64\u6302\u8f7d&#xff08;\u5143\u7d20\u6807\u7b7e\u540d (\u4f8b\u5982 &#039;body&#039;) \u6216\u5143\u7d20\u672c\u8eab&#xff0c;false \u4f1a\u5f85\u5728\u539f\u5730&#xff09;&#xff1b;\u4e0d\u4f20\u65f6\u4f18\u5148\u6302\u5230\u6700\u8fd1\u7684\u627f\u8f7d\u5c42\u5185\u5bb9\u5bb9\u5668&#xff08;Modal \/ Drawer \/ Dialog \u5361\u7247\u6216\u4e0a\u5c42\u6d6e\u5c42\u9762\u677f&#xff09;&#xff0c;\u65e0\u627f\u8f7d\u5c42\u65f6\u4e3a body<\/td>\n<td align=\"left\">string | HTMLElement | false<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">placement<\/td>\n<td align=\"left\">\u9762\u677f\u5f39\u51fa\u4f4d\u7f6e<\/td>\n<td align=\"left\">\u2018topLeft\u2019 | \u2018top\u2019 | \u2018topRight\u2019 | \u2018bottomLeft\u2019 | \u2018bottom\u2019 | \u2018bottomRight\u2019<\/td>\n<td align=\"left\">\u2018bottomLeft\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">showArrow<\/td>\n<td align=\"left\">\u8303\u56f4\u5f62\u6001\u7684\u9762\u677f\u6307\u793a\u7bad\u5934\u662f\u5426\u5c55\u793a&#xff1a;\u4e0d\u4f20\u65f6\u8ddf\u968f\u5f39\u51fa\u65b9\u4f4d&#xff08;\u4ec5\u5de6\u4fa7\u5bf9\u9f50\u7684 bottomLeft \/ topLeft \u5c55\u793a&#xff09;&#xff0c;true \u59cb\u7ec8\u5c55\u793a\u3001false \u59cb\u7ec8\u9690\u85cf<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">showToday<\/td>\n<td align=\"left\">\u662f\u5426\u5c55\u793a\u9762\u677f\u5e95\u90e8\u7684\u300c\u4eca\u5929\u300d\u5feb\u6377&#xff0c;\u9762\u677f\u5207\u5230\u5468 \/ \u6708 \/ \u5b63 \/ \u5e74\u89c6\u56fe\u65f6\u9690\u85cf<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">true<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">showNow<\/td>\n<td align=\"left\">\u662f\u5426\u5c55\u793a\u9762\u677f\u5e95\u90e8\u7684\u300c\u6b64\u523b\u300d\u5feb\u6377&#xff0c;\u4ec5\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u751f\u6548<\/td>\n<td align=\"left\">boolean<\/td>\n<td align=\"left\">true<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">dateRender<\/td>\n<td align=\"left\">\u81ea\u5b9a\u4e49\u65e5\u671f\u5355\u5143\u683c\u7684\u5185\u5bb9\u4e0e\u6837\u5f0f&#xff08;\u66ff\u6362\u65e5\u53f7&#xff09;&#xff0c;\u5355\u5143\u683c\u5bb9\u5668\u4e0e\u9009\u4e2d \/ \u60ac\u6d6e \/ \u533a\u95f4\u5e95\u8272\u4ecd\u7531\u7ec4\u4ef6\u63d0\u4f9b&#xff1b;\u5165\u53c2 current \u4e3a\u8be5\u683c\u65e5\u671f\u7684\u96f6\u70b9\u65f6\u95f4\u6233\u3001today \u4e3a\u5f53\u524d\u65f6\u523b\u65f6\u95f4\u6233<\/td>\n<td align=\"left\">(params: { current: number; today: number }) &#061;&gt; VNode | VNode[]<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">renderExtraFooter<\/td>\n<td align=\"left\">\u9762\u677f\u5e95\u90e8\u7684\u989d\u5916\u9875\u811a&#xff0c;\u6e32\u67d3\u5728\u300c\u4eca\u5929\u300d\u300c\u786e\u5b9a\u300d\u7b49\u64cd\u4f5c\u884c\u4e4b\u4e0a<\/td>\n<td align=\"left\">() &#061;&gt; VNode | VNode[]<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">suffixIcon<\/td>\n<td align=\"left\">\u81ea\u5b9a\u4e49\u9009\u62e9\u6846\u540e\u7f00\u56fe\u6807<\/td>\n<td align=\"left\">VNode | (() &#061;&gt; VNode)<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">panelClass<\/td>\n<td align=\"left\">\u9762\u677f\u989d\u5916\u7c7b\u540d<\/td>\n<td align=\"left\">string<\/td>\n<td align=\"left\">\u2018\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">panelStyle<\/td>\n<td align=\"left\">\u9762\u677f\u989d\u5916\u6837\u5f0f<\/td>\n<td align=\"left\">CSSProperties<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">zIndex<\/td>\n<td align=\"left\">\u9762\u677f\u5c42\u7ea7&#xff0c;\u4f18\u5148\u7ea7\u6700\u9ad8&#xff08;\u8986\u76d6\u9ed8\u8ba4\u5c42\u7ea7\u4e0e ConfigProvider \u7684 baseZIndex \u81ea\u52a8\u5206\u914d&#xff09;<\/td>\n<td align=\"left\">number<\/td>\n<td align=\"left\">undefined<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerType Type<\/h4>\n<table>\n<tr>\u540d\u79f0\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">DatePickerType<\/td>\n<td align=\"left\">\u2018date\u2019 | \u2018datetime\u2019 | \u2018week\u2019 | \u2018month\u2019 | \u2018quarter\u2019 | \u2018year\u2019 | \u2018daterange\u2019 | \u2018datetimerange\u2019 | \u2018weekrange\u2019 | \u2018monthrange\u2019 | \u2018quarterrange\u2019 | \u2018yearrange\u2019<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerDisabledTime Type<\/h4>\n<p>\u4e0d\u53ef\u9009\u62e9\u7684\u65f6\u95f4\u5224\u5b9a&#xff0c;\u5165\u53c2\u4e3a\u5f53\u524d\u9762\u677f\u8349\u7a3f\u503c\u7684\u65f6\u95f4\u6233\u3002<\/p>\n<table>\n<tr>\u540d\u79f0\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">DatePickerDisabledTime<\/td>\n<td align=\"left\">(timestamp: number) &#061;&gt; DatePickerDisabledTimeUnits<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerRangeDisabledTime Type<\/h4>\n<p>\u8303\u56f4\u5f62\u6001\u7684\u4e0d\u53ef\u9009\u62e9\u65f6\u95f4\u5224\u5b9a&#xff0c;side \u6807\u8bc6\u5f53\u524d\u4f5c\u7528\u5728\u8d77\u70b9\u8fd8\u662f\u7ec8\u70b9\u3002<\/p>\n<table>\n<tr>\u540d\u79f0\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">DatePickerRangeDisabledTime<\/td>\n<td align=\"left\">(timestamp: number, side: \u2018start\u2019 | \u2018end\u2019) &#061;&gt; DatePickerDisabledTimeUnits<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerDisabledTimeUnits Type<\/h4>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">disabledHours?<\/td>\n<td align=\"left\">\u7981\u7528\u7684\u300c\u65f6\u300d<\/td>\n<td align=\"left\">() &#061;&gt; number[]<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">disabledMinutes?<\/td>\n<td align=\"left\">\u7981\u7528\u7684\u300c\u5206\u300d&#xff0c;\u5165\u53c2\u4e3a\u9009\u4e2d\u7684\u300c\u65f6\u300d<\/td>\n<td align=\"left\">(hour: number) &#061;&gt; number[]<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">disabledSeconds?<\/td>\n<td align=\"left\">\u7981\u7528\u7684\u300c\u79d2\u300d&#xff0c;\u5165\u53c2\u4e3a\u9009\u4e2d\u7684\u300c\u65f6\u300d\u300c\u5206\u300d<\/td>\n<td align=\"left\">(hour: number, minute: number) &#061;&gt; number[]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerTimeProps Type<\/h4>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">hourStep?<\/td>\n<td align=\"left\">\u300c\u65f6\u300d\u7684\u6b65\u957f&#xff0c;\u9ed8\u8ba4 1&#xff1b;\u987b\u80fd\u6574\u9664 24&#xff0c;\u975e\u6cd5\u503c\u6309 1 \u5904\u7406<\/td>\n<td align=\"left\">number<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">minuteStep?<\/td>\n<td align=\"left\">\u300c\u5206\u300d\u7684\u6b65\u957f&#xff0c;\u9ed8\u8ba4 1&#xff1b;\u987b\u80fd\u6574\u9664 60&#xff0c;\u975e\u6cd5\u503c\u6309 1 \u5904\u7406<\/td>\n<td align=\"left\">number<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">secondStep?<\/td>\n<td align=\"left\">\u300c\u79d2\u300d\u7684\u6b65\u957f&#xff0c;\u9ed8\u8ba4 1&#xff1b;\u987b\u80fd\u6574\u9664 60&#xff0c;\u975e\u6cd5\u503c\u6309 1 \u5904\u7406<\/td>\n<td align=\"left\">number<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">use12Hours?<\/td>\n<td align=\"left\">\u662f\u5426\u4f7f\u7528 12 \u5c0f\u65f6\u5236&#xff0c;\u4e0e 12 \u5c0f\u65f6\u5236\u683c\u5f0f&#xff08;hh&#xff09;\u914d\u5408\u4f7f\u7528<\/td>\n<td align=\"left\">boolean<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">hideDisabledOptions?<\/td>\n<td align=\"left\">\u662f\u5426\u9690\u85cf\u7981\u7528\u7684\u9009\u9879<\/td>\n<td align=\"left\">boolean<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerPreset Type<\/h4>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">label<\/td>\n<td align=\"left\">\u9884\u8bbe\u540d\u79f0<\/td>\n<td align=\"left\">string | VNode<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">value<\/td>\n<td align=\"left\">\u9884\u8bbe\u503c&#xff1a;\u5355\u9009\u5f62\u6001\u4e3a\u4e00\u4e2a\u65f6\u95f4\u6233&#xff0c;\u8303\u56f4\u5f62\u6001\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff1b;\u53ef\u4e3a\u8fd4\u56de\u9884\u8bbe\u503c\u7684\u51fd\u6570&#xff08;\u70b9\u51fb\u65f6\u624d\u6c42\u503c&#xff09;<\/td>\n<td align=\"left\">number | [number, number] | (() &#061;&gt; number | [number, number])<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DatePickerRangeInfo Type<\/h4>\n<p>\u8303\u56f4\u5f62\u6001\u8349\u7a3f\u53d8\u66f4\u7684\u6765\u6e90\u4fe1\u606f\u3002<\/p>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">range<\/td>\n<td align=\"left\">\u8349\u7a3f\u53d8\u66f4\u843d\u5728\u54ea\u4e00\u6bb5<\/td>\n<td align=\"left\">\u2018start\u2019 | \u2018end\u2019<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>DefaultFormat Value<\/h4>\n<table>\n<tr>\u540d\u79f0\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">date<\/td>\n<td align=\"left\">\u2018yyyy-MM-dd\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">datetime<\/td>\n<td align=\"left\">\u2018yyyy-MM-dd HH:mm:ss\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">week<\/td>\n<td align=\"left\">\u2018RRRR-II\u5468\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">month<\/td>\n<td align=\"left\">\u2018yyyy-MM\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">quarter<\/td>\n<td align=\"left\">\u2018yyyy-QQQ\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">year<\/td>\n<td align=\"left\">\u2018yyyy\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">daterange<\/td>\n<td align=\"left\">\u2018yyyy-MM-dd\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">datetimerange<\/td>\n<td align=\"left\">\u2018yyyy-MM-dd HH:mm:ss\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">weekrange<\/td>\n<td align=\"left\">\u2018RRRR-II\u5468\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">monthrange<\/td>\n<td align=\"left\">\u2018yyyy-MM\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">quarterrange<\/td>\n<td align=\"left\">\u2018yyyy-QQQ\u2019<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">yearrange<\/td>\n<td align=\"left\">\u2018yyyy\u2019<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>format \u652f\u6301\u7684\u683c\u5f0f\u5316\u5360\u4f4d\u7b26\u5217\u8868<\/h4>\n<p>format \/ valueFormat \u91c7\u7528 date-fns \u5360\u4f4d\u7b26&#xff0c;\u5e38\u7528\u5360\u4f4d\u7b26&#xff1a;<\/p>\n<table>\n<tr>\u6807\u8bc6\u793a\u4f8b\u63cf\u8ff0<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">yy<\/td>\n<td align=\"left\">26<\/td>\n<td align=\"left\">\u5e74&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">yyyy<\/td>\n<td align=\"left\">2026<\/td>\n<td align=\"left\">\u5e74&#xff0c;\u56db\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">M<\/td>\n<td align=\"left\">1-12<\/td>\n<td align=\"left\">\u6708<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">MM<\/td>\n<td align=\"left\">01-12<\/td>\n<td align=\"left\">\u6708&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">Q<\/td>\n<td align=\"left\">1-4<\/td>\n<td align=\"left\">\u5b63\u5ea6<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">QQQ<\/td>\n<td align=\"left\">Q1-Q4<\/td>\n<td align=\"left\">\u5b63\u5ea6&#xff0c;\u5e26 Q \u524d\u7f00<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">d<\/td>\n<td align=\"left\">1-31<\/td>\n<td align=\"left\">\u65e5<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">dd<\/td>\n<td align=\"left\">01-31<\/td>\n<td align=\"left\">\u65e5&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">h<\/td>\n<td align=\"left\">1-12<\/td>\n<td align=\"left\">\u5c0f\u65f6&#xff0c;12 \u5c0f\u65f6\u5236<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">hh<\/td>\n<td align=\"left\">01-12<\/td>\n<td align=\"left\">\u5c0f\u65f6&#xff0c;12 \u5c0f\u65f6\u5236&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">H<\/td>\n<td align=\"left\">0-23<\/td>\n<td align=\"left\">\u5c0f\u65f6<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">HH<\/td>\n<td align=\"left\">00-23<\/td>\n<td align=\"left\">\u5c0f\u65f6&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">m<\/td>\n<td align=\"left\">0-59<\/td>\n<td align=\"left\">\u5206\u949f<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">mm<\/td>\n<td align=\"left\">00-59<\/td>\n<td align=\"left\">\u5206\u949f&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">s<\/td>\n<td align=\"left\">0-59<\/td>\n<td align=\"left\">\u79d2<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ss<\/td>\n<td align=\"left\">00-59<\/td>\n<td align=\"left\">\u79d2&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ww<\/td>\n<td align=\"left\">01-53<\/td>\n<td align=\"left\">\u7b2c\u51e0\u5468&#xff0c;\u4e24\u4f4d\u6570&#xff08;\u672c\u5730\u5468\u53e3\u5f84&#xff09;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">II<\/td>\n<td align=\"left\">01-53<\/td>\n<td align=\"left\">ISO \u5468\u5e8f\u53f7&#xff0c;\u4e24\u4f4d\u6570<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">RRRR<\/td>\n<td align=\"left\">2026<\/td>\n<td align=\"left\">ISO \u5468\u5e74&#xff0c;\u56db\u4f4d\u6570<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5468\u5f62\u6001\u7684\u9ed8\u8ba4\u683c\u5f0f\u4e3a RRRR-II\u5468&#xff08;\u5982 2026-41\u5468&#xff09;&#xff1a;\u300c\u5468\u300d\u662f\u5b57\u9762\u91cf\u540e\u7f00&#xff0c;\u4e2d\u6587\u8bed\u5883\u4e0b\u7528\u4e8e\u6307\u660e\u8be5\u6570\u5b57\u4e3a\u5468\u5e8f\u53f7&#xff0c;\u4e0d\u9700\u8981\u65f6\u4f20\u5165 format&#061;&#034;RRRR-II&#034; \u5373\u53ef\u79fb\u9664&#xff1b;date-fns \u4e0d\u5141\u8bb8\u300c\u5468\u5e74 &#043; \u672c\u5730\u5468\u5e8f\u53f7\u300d\u540c\u4e32&#xff08;yyyy \u4e0e ww \u4f1a\u89e3\u6790\u5931\u8d25&#xff09;&#xff0c;\u6545\u5468\u5e8f\u53f7\u987b\u4e0e\u5468\u5e74\u540c\u4e3a ISO \u53e3\u5f84\u3002<\/p>\n<h3>Slots<\/h3>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7528\u6cd5<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">dateRender<\/td>\n<td align=\"left\">\u81ea\u5b9a\u4e49\u65e5\u671f\u5355\u5143\u683c\u7684\u5185\u5bb9\u4e0e\u6837\u5f0f&#xff08;\u66ff\u6362\u65e5\u53f7&#xff09;&#xff0c;\u4f18\u5148\u4e8e\u540c\u540d\u5c5e\u6027<\/td>\n<td align=\"left\">v-slot:dateRender<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">renderExtraFooter<\/td>\n<td align=\"left\">\u9762\u677f\u5e95\u90e8\u7684\u989d\u5916\u9875\u811a&#xff0c;\u4f18\u5148\u4e8e\u540c\u540d\u5c5e\u6027<\/td>\n<td align=\"left\">v-slot:renderExtraFooter<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">suffixIcon<\/td>\n<td align=\"left\">\u81ea\u5b9a\u4e49\u9009\u62e9\u6846\u540e\u7f00\u56fe\u6807<\/td>\n<td align=\"left\">v-slot:suffixIcon<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">separator<\/td>\n<td align=\"left\">\u8303\u56f4\u5f62\u6001\u4e24\u6bb5\u4e4b\u95f4\u7684\u5206\u9694\u7b26<\/td>\n<td align=\"left\">v-slot:separator<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Events<\/h3>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">change<\/td>\n<td align=\"left\">\u503c\u53d8\u5316\u65f6\u7684\u56de\u8c03<\/td>\n<td align=\"left\">(value: number | [number | null, number | null] | null, formattedValue: string | [string, string] | null) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">calendarChange<\/td>\n<td align=\"left\">\u8303\u56f4\u5f62\u6001\u5f85\u9009\u533a\u95f4\u53d8\u5316\u65f6\u7684\u56de\u8c03&#xff0c;info.range \u6807\u8bc6\u672c\u6b21\u6539\u52a8\u843d\u5728\u54ea\u4e00\u6bb5<\/td>\n<td align=\"left\">(value: [number | null, number | null] | null, formattedValue: [string, string] | null, info: DatePickerRangeInfo) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ok<\/td>\n<td align=\"left\">\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u70b9\u51fb\u300c\u786e\u5b9a\u300d\u65f6\u7684\u56de\u8c03<\/td>\n<td align=\"left\">(value: number | [number | null, number | null] | null, formattedValue: string | [string, string] | null) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">openChange<\/td>\n<td align=\"left\">\u9762\u677f\u5c55\u5f00\u6536\u8d77\u65f6\u7684\u56de\u8c03<\/td>\n<td align=\"left\">(open: boolean) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">panelChange<\/td>\n<td align=\"left\">\u9762\u677f\u89c6\u56fe\u5207\u6362\u65f6\u7684\u56de\u8c03<\/td>\n<td align=\"left\">(value: number, mode: string) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">focus<\/td>\n<td align=\"left\">\u8f93\u5165\u6846\u83b7\u53d6\u7126\u70b9\u65f6\u7684\u56de\u8c03&#xff0c;relatedTarget \u4e3a\u5931\u53bb\u7126\u70b9\u7684\u5143\u7d20<\/td>\n<td align=\"left\">(e: FocusEvent) &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">blur<\/td>\n<td align=\"left\">\u8f93\u5165\u6846\u5931\u7126\u7684\u56de\u8c03&#xff0c;relatedTarget \u4e3a\u83b7\u5f97\u7126\u70b9\u7684\u5143\u7d20<\/td>\n<td align=\"left\">(e: FocusEvent) &#061;&gt; void<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Methods<\/h3>\n<table>\n<tr>\u540d\u79f0\u8bf4\u660e\u7c7b\u578b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">focus<\/td>\n<td align=\"left\">\u83b7\u53d6\u9009\u62e9\u5668\u7126\u70b9<\/td>\n<td align=\"left\">() &#061;&gt; void<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">blur<\/td>\n<td align=\"left\">\u4f7f\u9009\u62e9\u5668\u5931\u53bb\u7126\u70b9<\/td>\n<td align=\"left\">() &#061;&gt; void<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\u521b\u5efa\u65e5\u671f\u9009\u62e9\u5668\u7ec4\u4ef6 DatePicker.vue<\/h3>\n<p><span class=\"token operator\">&lt;<\/span>script setup lang<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ts&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">{<\/span> computed<span class=\"token punctuation\">,<\/span> nextTick<span class=\"token punctuation\">,<\/span> ref<span class=\"token punctuation\">,<\/span> useSlots<span class=\"token punctuation\">,<\/span> watch <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;vue&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">type<\/span> <span class=\"token punctuation\">{<\/span> CSSProperties<span class=\"token punctuation\">,<\/span> TransitionProps<span class=\"token punctuation\">,<\/span> VNode <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;vue&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> Popup <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;components\/popup&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  DatePanel<span class=\"token punctuation\">,<\/span><br \/>\n  DatetimePanel<span class=\"token punctuation\">,<\/span><br \/>\n  PickerIcon<span class=\"token punctuation\">,<\/span><br \/>\n  PickerTrigger<span class=\"token punctuation\">,<\/span><br \/>\n  PresetPanel<span class=\"token punctuation\">,<\/span><br \/>\n  RangePanel<span class=\"token punctuation\">,<\/span><br \/>\n  formatTimestamp<span class=\"token punctuation\">,<\/span><br \/>\n  getDefaultFormat<span class=\"token punctuation\">,<\/span><br \/>\n  getDefaultTime<span class=\"token punctuation\">,<\/span><br \/>\n  getInputSize<span class=\"token punctuation\">,<\/span><br \/>\n  getPanelModeOf<span class=\"token punctuation\">,<\/span><br \/>\n  isOutOfRangeBoundary<span class=\"token punctuation\">,<\/span><br \/>\n  isRangeType<span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token constant\">PANEL_NAV_KEYS<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  parseTimestamp<span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerActiveSection<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerDateRender<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerDateRenderParams<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerDefaultTime<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerDisabledTime<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerFormattedValue<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerPanelMode<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerPreset<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerPresetValue<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerRangeDisabledTime<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerRangeFormattedValue<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerRangeSide<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerRangeValue<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerSelectSource<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerSize<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerStatus<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerTimePanelProps<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerType<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">PickerValue<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token keyword\">type<\/span> <span class=\"token class-name\">StartDayOfWeek<\/span><br \/>\n<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;components\/picker&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">type<\/span> <span class=\"token punctuation\">{<\/span> FloatingPlacement<span class=\"token punctuation\">,<\/span> MountElement <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;components\/utils&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">{<\/span> <span class=\"token constant\">FLOATING_LAYER_Z_INDEX<\/span><span class=\"token punctuation\">,<\/span> useContainerClose<span class=\"token punctuation\">,<\/span> useControlledModel<span class=\"token punctuation\">,<\/span> useSlotsExist <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;components\/utils&#039;<\/span><br \/>\n<span class=\"token keyword\">export<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">Props<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  value<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerValue <span class=\"token comment\">\/\/ (v-model:value) \u5f53\u524d\u53d6\u503c&#xff1b;\u4f20\u5165\u5373\u53d7\u63a7<\/span><br \/>\n  defaultValue<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerValue <span class=\"token comment\">\/\/ \u975e\u53d7\u63a7\u521d\u59cb\u503c&#xff0c;\u672a\u7ed1 v-model:value \u65f6\u751f\u6548&#xff08;\u4e0e\u9762\u677f\u521d\u59cb\u65e5\u671f defaultPickerValue \u4e0d\u540c&#xff09;<\/span><br \/>\n  open<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ (v-model:open) \u9762\u677f\u662f\u5426\u5c55\u5f00&#xff1b;\u4f20\u5165\u5373\u53d7\u63a7<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u53cc\u5411\u7ed1\u5b9a<\/span><br \/>\n  formattedValue<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerFormattedValue <span class=\"token comment\">\/\/ \u5b57\u7b26\u4e32\u8f68\u9053\u503c&#xff1a;\u7236\u7ec4\u4ef6\u4f20\u5165\u65f6\u4ee5\u5b83\u4e3a\u51c6&#xff08;\u53d7\u63a7&#xff09;&#xff0c;\u968f\u9009\u62e9\u7ecf update \u4e8b\u4ef6\u56de\u5199<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u5185\u5bb9\u6570\u636e<\/span><br \/>\n  type<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerType <span class=\"token comment\">\/\/ \u9009\u62e9\u5f62\u6001<\/span><br \/>\n  format<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token comment\">\/\/ \u5c55\u793a\u683c\u5f0f&#xff0c;date-fns \u5360\u4f4d\u7b26&#xff0c;\u9ed8\u8ba4\u968f type \u53d8\u5316<\/span><br \/>\n  valueFormat<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token comment\">\/\/ \u7ed1\u5b9a\u503c\u683c\u5f0f&#xff0c;\u9ed8\u8ba4\u4e0e format \u76f8\u540c<\/span><br \/>\n  placeholder<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u8f93\u5165\u6846\u63d0\u793a\u6587\u5b57&#xff0c;\u8303\u56f4\u5f62\u6001\u53ef\u5206\u522b\u4e3a\u4e24\u6bb5\u6307\u5b9a<\/span><br \/>\n  defaultPickerValue<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u521d\u59cb\u65e5\u671f&#xff08;\u65f6\u95f4\u6233&#xff09;&#xff0c;\u9ed8\u8ba4\u53d6 value \u6216\u4eca\u5929<\/span><br \/>\n  startDayOfWeek<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> StartDayOfWeek <span class=\"token comment\">\/\/ \u4e00\u5468\u8d77\u59cb\u65e5&#xff0c;0 \u4e3a\u5468\u4e00<\/span><br \/>\n  disabledDate<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u4e0d\u53ef\u9009\u62e9\u7684\u65e5\u671f<\/span><br \/>\n  disabledTime<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerDisabledTime <span class=\"token operator\">|<\/span> PickerRangeDisabledTime <span class=\"token comment\">\/\/ \u4e0d\u53ef\u9009\u62e9\u7684\u65f6\u95f4&#xff0c;\u4ec5\u5e26\u65f6\u95f4\u5f62\u6001\u751f\u6548&#xff08;\u8303\u56f4\u5f62\u6001\u989d\u5916\u63a5\u6536\u6bb5\u6807\u8bc6&#xff09;<\/span><br \/>\n  defaultTime<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerDefaultTime <span class=\"token comment\">\/\/ \u7a7a\u8349\u7a3f\u65f6\u7684\u9ed8\u8ba4\u65f6\u5206\u79d2&#xff08;\u53ea\u53d6\u5176\u4e2d\u7684\u65f6\u5206\u79d2&#xff09;&#xff0c;\u8303\u56f4\u5f62\u6001\u53ef\u6309\u6bb5\u6307\u5b9a<\/span><br \/>\n  timePickerProps<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerTimePanelProps <span class=\"token comment\">\/\/ \u65f6\u95f4\u9762\u677f\u9009\u9879&#xff08;\u6b65\u957f \/ 12 \u5c0f\u65f6\u5236 \/ \u9690\u85cf\u7981\u7528\u9879&#xff09;<\/span><br \/>\n  presets<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerPreset<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u9884\u8bbe\u9009\u9879&#xff0c;\u70b9\u51fb\u5373\u63d0\u4ea4\u5e76\u6536\u8d77&#xff1b;\u8303\u56f4\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u503c\u53ef\u4e3a\u60f0\u6027\u6c42\u503c\u7684\u51fd\u6570<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u5f62\u6001\u5916\u89c2<\/span><br \/>\n  width<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token comment\">\/\/ \u9009\u62e9\u5668\u5bbd\u5ea6&#xff0c;\u4e0d\u4f20\u65f6\u968f\u5185\u5bb9\u81ea\u9002\u5e94<\/span><br \/>\n  size<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerSize <span class=\"token comment\">\/\/ \u9009\u62e9\u5668\u5927\u5c0f<\/span><br \/>\n  status<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> PickerStatus <span class=\"token comment\">\/\/ \u6821\u9a8c\u72b6\u6001<\/span><br \/>\n  bordered<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u662f\u5426\u5c55\u793a\u8fb9\u6846<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u72b6\u6001\u53cd\u9988<\/span><br \/>\n  disabled<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u662f\u5426\u7981\u7528&#xff0c;\u8303\u56f4\u5f62\u6001\u53ef\u4f20\u4e24\u6bb5\u5143\u7ec4\u9010\u6bb5\u7981\u7528<\/span><br \/>\n  allowClear<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u662f\u5426\u5c55\u793a\u6e05\u9664\u6309\u94ae<\/span><br \/>\n  allowEmpty<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u8303\u56f4\u5f62\u6001\u5404\u6bb5\u662f\u5426\u5141\u8bb8\u4e3a\u7a7a&#xff0c;\u4e3a\u7a7a\u65f6\u8be5\u6bb5\u53ef\u88ab\u5355\u72ec\u6e05\u7a7a\u5e76\u5bf9\u5916\u63d0\u4ea4<\/span><br \/>\n  inputReadOnly<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u8f93\u5165\u6846\u662f\u5426\u53ea\u8bfb&#xff08;\u907f\u514d\u79fb\u52a8\u7aef\u5524\u8d77\u952e\u76d8&#xff09;<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u884c\u4e3a\u4ea4\u4e92<\/span><br \/>\n  to<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> MountElement <span class=\"token operator\">|<\/span> <span class=\"token boolean\">false<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u6302\u8f7d\u7684\u5bb9\u5668\u8282\u70b9&#xff0c;\u4e0d\u4f20\u65f6\u5c31\u8fd1\u6302\u8f7d\u5230\u627f\u8f7d\u5c42\u5185\u5bb9\u5bb9\u5668<\/span><br \/>\n  placement<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;topLeft&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;top&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;topRight&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;bottomLeft&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;bottom&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;bottomRight&#039;<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u5f39\u51fa\u4f4d\u7f6e<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u8303\u56f4\u5f62\u6001\u7684\u9762\u677f\u6307\u793a\u7bad\u5934&#xff1a;\u4e0d\u4f20\u65f6\u8ddf\u968f\u5f39\u51fa\u65b9\u4f4d&#xff08;\u4ec5\u5de6\u4fa7\u5bf9\u9f50\u7684 bottomLeft \/ topLeft \u5c55\u793a&#xff09;&#xff0c;<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u4f20 true \u59cb\u7ec8\u5c55\u793a\u3001\u4f20 false \u59cb\u7ec8\u9690\u85cf&#xff0c;\u4ec5\u8303\u56f4\u5f62\u6001\u751f\u6548<\/span><br \/>\n  showArrow<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><br \/>\n  showToday<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u662f\u5426\u5c55\u793a\u9762\u677f\u5e95\u90e8\u7684\u300c\u4eca\u5929\u300d\u5feb\u6377&#xff0c;\u9762\u677f\u5207\u5230\u5468 \/ \u6708 \/ \u5b63 \/ \u5e74\u89c6\u56fe\u65f6\u9690\u85cf<\/span><br \/>\n  showNow<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token comment\">\/\/ \u662f\u5426\u5c55\u793a\u9762\u677f\u5e95\u90e8\u7684\u300c\u6b64\u523b\u300d\u5feb\u6377&#xff0c;\u4ec5\u5e26\u65f6\u95f4\u5f62\u6001\u751f\u6548<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u8fdb\u9636\u900f\u4f20<\/span><br \/>\n  dateRender<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>params<span class=\"token operator\">:<\/span> PickerDateRenderParams<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode <span class=\"token operator\">|<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u81ea\u5b9a\u4e49\u65e5\u671f\u5355\u5143\u683c\u5185\u5bb9&#xff08;\u66ff\u6362\u65e5\u53f7&#xff09;&#xff0c;\u5165\u53c2 current \u4e3a\u8be5\u683c\u65e5\u671f\u7684\u96f6\u70b9\u65f6\u95f4\u6233<\/span><br \/>\n  renderExtraFooter<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode <span class=\"token operator\">|<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u5e95\u90e8\u7684\u989d\u5916\u9875\u811a&#xff0c;\u6e32\u67d3\u5728\u64cd\u4f5c\u884c\u4e4b\u4e0a<\/span><br \/>\n  suffixIcon<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> VNode <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">)<\/span> <span class=\"token comment\">\/\/ \u81ea\u5b9a\u4e49\u9009\u62e9\u6846\u540e\u7f00\u56fe\u6807<\/span><br \/>\n  panelClass<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u989d\u5916\u7c7b\u540d<\/span><br \/>\n  panelStyle<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> CSSProperties <span class=\"token comment\">\/\/ \u9762\u677f\u989d\u5916\u6837\u5f0f<\/span><br \/>\n  zIndex<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u5c42\u7ea7&#xff0c;\u4f18\u5148\u7ea7\u6700\u9ad8<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u5f62\u6001\u8349\u7a3f\u53d8\u66f4\u7684\u6765\u6e90\u4fe1\u606f&#xff1a;\u672c\u6b21\u6539\u52a8\u843d\u5728\u54ea\u4e00\u6bb5 *\/<\/span><br \/>\n<span class=\"token keyword\">export<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">DatePickerRangeInfo<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  range<span class=\"token operator\">:<\/span> PickerRangeSide<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">export<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">DatePickerSlots<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  suffixIcon<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u81ea\u5b9a\u4e49\u9009\u62e9\u6846\u540e\u7f00\u56fe\u6807&#xff0c;\u4f18\u5148\u4e8e\u540c\u540d prop<\/span><br \/>\n  separator<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u8303\u56f4\u5f62\u6001\u4e24\u6bb5\u4e4b\u95f4\u7684\u5206\u9694\u7b26&#xff0c;\u9ed8\u8ba4\u53f3\u5411\u7bad\u5934<\/span><br \/>\n  dateRender<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>params<span class=\"token operator\">:<\/span> PickerDateRenderParams<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u81ea\u5b9a\u4e49\u65e5\u671f\u5355\u5143\u683c\u5185\u5bb9&#xff08;\u66ff\u6362\u65e5\u53f7&#xff09;&#xff0c;\u4f18\u5148\u4e8e\u540c\u540d prop<\/span><br \/>\n  renderExtraFooter<span class=\"token operator\">?<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token comment\">\/\/ \u9762\u677f\u5e95\u90e8\u7684\u989d\u5916\u9875\u811a&#xff0c;\u4f18\u5148\u4e8e\u540c\u540d prop<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u5bf9\u5916\u516c\u5f00\u7684\u503c\u4e0e\u914d\u7f6e\u7c7b\u578b<br \/>\n *<br \/>\n * \u9009\u62e9\u5668\u5185\u6838&#xff08;&#096;components\/picker&#096;&#xff09;\u4e0d\u5bf9\u5916\u5bfc\u51fa&#xff0c;\u8fd9\u91cc\u6309\u672c\u7ec4\u4ef6\u6587\u6863\u6240\u5f15\u7528\u7684\u7c7b\u578b\u540d\u9010\u4e2a\u522b\u540d\u8f6c\u51fa&#xff0c;<br \/>\n * \u4f7f\u7528\u65b9 &#096;import type { DatePickerXxx } from &#039;vue-amazing-ui&#039;&#096; \u5373\u53ef\u83b7\u5f97\u5bf9\u5e94\u63d0\u793a<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">export<\/span> <span class=\"token keyword\">type<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  PickerValue <span class=\"token keyword\">as<\/span> DatePickerValue<span class=\"token punctuation\">,<\/span><br \/>\n  PickerFormattedValue <span class=\"token keyword\">as<\/span> DatePickerFormattedValue<span class=\"token punctuation\">,<\/span><br \/>\n  PickerType <span class=\"token keyword\">as<\/span> DatePickerType<span class=\"token punctuation\">,<\/span><br \/>\n  PickerDisabledTime <span class=\"token keyword\">as<\/span> DatePickerDisabledTime<span class=\"token punctuation\">,<\/span><br \/>\n  PickerRangeDisabledTime <span class=\"token keyword\">as<\/span> DatePickerRangeDisabledTime<span class=\"token punctuation\">,<\/span><br \/>\n  PickerDisabledTimeUnits <span class=\"token keyword\">as<\/span> DatePickerDisabledTimeUnits<span class=\"token punctuation\">,<\/span><br \/>\n  PickerTimePanelProps <span class=\"token keyword\">as<\/span> DatePickerTimeProps<span class=\"token punctuation\">,<\/span><br \/>\n  PickerPreset <span class=\"token keyword\">as<\/span> DatePickerPreset<br \/>\n<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;components\/picker&#039;<\/span><br \/>\n<span class=\"token comment\">\/\/ value \/ open \u4e3a\u53d7\u63a7\u5b57\u6bb5&#xff1a;prop \u9ed8\u8ba4\u503c\u5fc5\u987b\u662f undefined&#xff08;\u5e03\u5c14\u7f3a\u7701\u4f1a\u88ab\u5f3a\u8f6c\u4e3a false&#xff0c;\u5bfc\u81f4\u5224\u636e\u6052\u4e3a\u53d7\u63a7&#xff09;<\/span><br \/>\n<span class=\"token comment\">\/\/ \u975e\u53d7\u63a7\u521d\u503c\u7531 useControlledModel \u7684\u7b2c\u4e8c\u4e2a\u53c2\u6570\u627f\u62c5<\/span><br \/>\n<span class=\"token keyword\">const<\/span> props <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">withDefaults<\/span><span class=\"token punctuation\">(<\/span><span class=\"token generic-function\"><span class=\"token function\">defineProps<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>Props<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  value<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  defaultValue<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  open<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  formattedValue<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  type<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;date&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  format<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  valueFormat<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  placeholder<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  defaultPickerValue<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  startDayOfWeek<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  disabledDate<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  disabledTime<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  defaultTime<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  timePickerProps<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token function-variable function\">presets<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  width<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  size<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;middle&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  status<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  bordered<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  disabled<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  allowClear<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token function-variable function\">allowEmpty<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  inputReadOnly<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  to<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  placement<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;bottomLeft&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  showArrow<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  showToday<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  showNow<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  dateRender<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  renderExtraFooter<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  suffixIcon<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  panelClass<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  panelStyle<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  zIndex<span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token generic-function\"><span class=\"token function\">defineSlots<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>DatePickerSlots<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> emits <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">defineEmits<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">{<\/span><br \/>\n  change<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>value<span class=\"token operator\">:<\/span> PickerValue<span class=\"token punctuation\">,<\/span> formattedValue<span class=\"token operator\">:<\/span> PickerFormattedValue<span class=\"token punctuation\">]<\/span><br \/>\n  calendarChange<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n    value<span class=\"token operator\">:<\/span> PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    formattedValue<span class=\"token operator\">:<\/span> PickerRangeFormattedValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    info<span class=\"token operator\">:<\/span> DatePickerRangeInfo<br \/>\n  <span class=\"token punctuation\">]<\/span><br \/>\n  ok<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>value<span class=\"token operator\">:<\/span> PickerValue<span class=\"token punctuation\">,<\/span> formattedValue<span class=\"token operator\">:<\/span> PickerFormattedValue<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token string-property property\">&#039;update:formattedValue&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>value<span class=\"token operator\">:<\/span> PickerFormattedValue<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token string-property property\">&#039;update:value&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>value<span class=\"token operator\">:<\/span> PickerValue<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token string-property property\">&#039;update:open&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>open<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  openChange<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>open<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  panelChange<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>value<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> mode<span class=\"token operator\">:<\/span> PickerPanelMode<span class=\"token punctuation\">]<\/span><br \/>\n  focus<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>event<span class=\"token operator\">:<\/span> FocusEvent<span class=\"token punctuation\">]<\/span><br \/>\n  blur<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>event<span class=\"token operator\">:<\/span> FocusEvent<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> valueModel <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">useControlledModel<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerValue<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;value&#039;<\/span><span class=\"token punctuation\">,<\/span> props<span class=\"token punctuation\">.<\/span>defaultValue <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> openModel <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">useControlledModel<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">boolean<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;open&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> triggerRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>InstanceType<span class=\"token operator\">&lt;<\/span><span class=\"token keyword\">typeof<\/span> PickerTrigger<span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> popupRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>InstanceType<span class=\"token operator\">&lt;<\/span><span class=\"token keyword\">typeof<\/span> Popup<span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> wrapperRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>HTMLElement <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u6d6e\u5c42\u4e0e\u89e6\u53d1\u5668\u7684\u4e3b\u8f74\u95f4\u8ddd&#xff08;\u5355\u6bb5\u5f62\u6001&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">POPUP_OFFSET<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">4<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u6307\u793a\u7bad\u5934\u7684\u5c3a\u5bf8&#xff0c;\u4e0e &#096;.datepicker-range-arrow&#096; \u7684\u5bbd\u9ad8\u4fdd\u6301\u4e00\u81f4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">RANGE_ARROW_SIZE<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">16<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u8303\u56f4\u5f62\u6001\u7684\u6d6e\u5c42\u95f4\u8ddd<br \/>\n *<br \/>\n * \u9700\u989d\u5916\u7559\u51fa\u7bad\u5934\u6240\u5728\u7684\u4e00\u6bb5\u7a7a\u767d&#xff08;\u7bad\u5934\u5c3a\u5bf8\u7684 2 \/ 3&#xff09;&#xff0c;<br \/>\n * \u5426\u5219 16px \u7684\u7bad\u5934\u4f1a\u538b\u4f4f\u89e6\u53d1\u5668\u7684\u5e95\u8fb9\u3001\u76d6\u6389\u8f93\u5165\u533a\u4e0b\u6cbf\u3002<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">RANGE_POPUP_OFFSET<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token constant\">POPUP_OFFSET<\/span> <span class=\"token operator\">&#043;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token constant\">RANGE_ARROW_SIZE<\/span> <span class=\"token operator\">*<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token number\">3<\/span><br \/>\n<span class=\"token comment\">\/** \u5e26\u9762\u677f\u6307\u793a\u7bad\u5934\u7684\u5f39\u51fa\u65b9\u4f4d&#xff08;\u4ec5\u5de6\u4fa7\u5bf9\u9f50\u7684\u4e24\u4e2a\u65b9\u4f4d&#xff0c;\u5176\u4f59\u65b9\u4f4d\u53ea\u5c55\u793a\u9762\u677f&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">ARROW_PLACEMENTS<\/span><span class=\"token operator\">:<\/span> FloatingPlacement<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;bottomLeft&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;topLeft&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u4e3b\u9898\u53d8\u91cf\u968f\u7ec4\u4ef6\u58f3\u4e0b\u53d1&#xff0c;\u6d6e\u5c42\u7ecf Teleport \u540e\u4e0d\u5728\u58f3\u5185&#xff0c;\u9700\u540c\u6837\u6ce8\u5165\u5230\u9762\u677f\u4e0a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> themeVars <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-primary-color&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-color, var(&#8211;va-primary-color))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-primary-color-hover&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-color-hover, var(&#8211;va-primary-color-hover))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-primary-shadow-color&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-bg-color, var(&#8211;va-primary-bg-color))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u533a\u95f4\u5e95\u8272\u53d6\u4e3b\u8272\u6d45\u5e95<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-primary-color-bg&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-bg-color, var(&#8211;va-primary-bg-color))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u952e\u76d8\u6d3b\u52a8\u5217\u7684\u5e95\u7eb9&#xff1a;\u4e3b\u8272\u6d45\u5e95&#xff0c;\u6d45\u5230\u4e0d\u62a2\u683c\u5185\u5bb9<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-time-column-active-bg&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-bg-color, var(&#8211;va-primary-bg-color))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u60ac\u6d6e\u9884\u89c8\u7684\u5e95\u8272\u4e0e\u865a\u7ebf\u8fb9\u754c<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-primary-color-bg-hover&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-bg-color, var(&#8211;va-primary-bg-color))&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token string-property property\">&#039;&#8211;picker-hover-border-color&#039;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;var(&#8211;va-cp-date-picker-primary-border-color, var(&#8211;va-primary-border-color))&#039;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> wrapperStyle <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> width <span class=\"token operator\">&#061;<\/span><br \/>\n    props<span class=\"token punctuation\">.<\/span>width <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">undefined<\/span> <span class=\"token operator\">?<\/span> <span class=\"token keyword\">undefined<\/span> <span class=\"token operator\">:<\/span> <span class=\"token keyword\">typeof<\/span> props<span class=\"token punctuation\">.<\/span>width <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;number&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">&#096;<\/span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${<\/span>props<span class=\"token punctuation\">.<\/span>width<span class=\"token interpolation-punctuation punctuation\">}<\/span><\/span><span class=\"token string\">px<\/span><span class=\"token template-punctuation string\">&#096;<\/span><\/span> <span class=\"token operator\">:<\/span> props<span class=\"token punctuation\">.<\/span>width<br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span> <span class=\"token operator\">&#8230;<\/span>themeVars<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">,<\/span> <span class=\"token string-property property\">&#039;&#8211;datepicker-width&#039;<\/span><span class=\"token operator\">:<\/span> width <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;auto&#039;<\/span> <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">as<\/span> CSSProperties<br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedPanelClass <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;datepicker-panel-container&#039;<\/span><span class=\"token punctuation\">,<\/span> props<span class=\"token punctuation\">.<\/span>panelClass<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">filter<\/span><span class=\"token punctuation\">(<\/span>Boolean<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">join<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039; &#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u663e\u5f0f\u6807\u6ce8\u63d2\u69fd\u7c7b\u578b&#xff1a;&#096;useSlots()&#096; \u7684\u8fd4\u56de\u503c\u53c2\u4e0e &#096;mergedDateRender&#096; \/ &#096;mergedExtraFooter&#096; \u7684\u63a8\u5bfc&#xff0c;\u6784\u6210\u63a8\u65ad\u73af<\/span><br \/>\n<span class=\"token keyword\">const<\/span> slots<span class=\"token operator\">:<\/span> DatePickerSlots <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">useSlots<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> slotsExist <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">useSlotsExist<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;dateRender&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;renderExtraFooter&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u65e5\u671f\u5355\u5143\u683c\u5185\u5bb9\u5b9a\u5236&#xff1a;\u540c\u540d\u63d2\u69fd\u4f18\u5148\u4e8e prop&#xff0c;\u4e24\u8f68\u7edf\u4e00\u4e3a\u300c\u5165\u53c2 \u2192 VNode[]\u300d\u7684\u51fd\u6570\u4e0b\u53d1\u7ed9\u5185\u6838<br \/>\n * &#xff08;\u5185\u6838\u53ea\u6536\u51fd\u6570&#xff1a;VNode \u9700\u5728\u5176\u6e32\u67d3\u4e0a\u4e0b\u6587\u5185\u521b\u5efa&#xff0c;&#096;computed&#096; \u91cc\u76f4\u63a5\u6c42\u503c\u4f1a\u4ea7\u751f\u300c\u65e0\u4e3b\u7684 hoisted vnode\u300d&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedDateRender <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerDateRender <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>slotsExist<span class=\"token punctuation\">.<\/span>dateRender<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span>params<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> slots<span class=\"token punctuation\">.<\/span>dateRender<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">(<\/span>params<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">??<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> render <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>dateRender<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>render<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">undefined<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span>params<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> node <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">render<\/span><span class=\"token punctuation\">(<\/span>params<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>node<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">?<\/span> node <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>node<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u5e95\u90e8\u7684\u989d\u5916\u9875\u811a&#xff1a;\u540c\u540d\u63d2\u69fd\u4f18\u5148\u4e8e prop&#xff0c;\u540c\u6837\u4ee5\u6e32\u67d3\u51fd\u6570\u4e0b\u53d1 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedExtraFooter <span class=\"token operator\">&#061;<\/span> computed<span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> VNode<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>slotsExist<span class=\"token punctuation\">.<\/span>renderExtraFooter<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> slots<span class=\"token punctuation\">.<\/span>renderExtraFooter<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">??<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> render <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>renderExtraFooter<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>render<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">undefined<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> node <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">render<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>node<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">?<\/span> node <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>node<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u4e3a\u5e26\u65f6\u95f4\u9762\u677f\u7684\u5f62\u6001&#xff1a;\u65e5\u671f\u4e0e\u65f6\u95f4\u5e76\u6392&#xff0c;\u9009\u62e9\u53ea\u6539\u8349\u7a3f&#xff0c;\u70b9\u300c\u786e\u5b9a\u300d\u624d\u63d0\u4ea4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> isDateTime <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> props<span class=\"token punctuation\">.<\/span>type <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;datetime&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u4e3a\u8303\u56f4\u5f62\u6001&#xff1a;\u53cc\u9762\u677f\u3001\u53cc\u6bb5\u8f93\u5165\u3001\u503c\u4e3a\u4e24\u6bb5\u5143\u7ec4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> isRange <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">isRangeType<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>type<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u9010\u6bb5\u7981\u7528\u72b6\u6001&#xff1a;\u8303\u56f4\u5f62\u6001\u652f\u6301\u4e24\u6bb5\u5143\u7ec4\u9010\u6bb5\u7981\u7528&#xff1b;\u5355\u9009\u5f62\u6001\u53ea\u63a5\u53d7\u5e03\u5c14\u503c&#xff0c;\u4f20\u6570\u7ec4\u65f6\u4efb\u4e00\u9879\u4e3a\u771f\u5373\u89c6\u4e3a<br \/>\n * \u6574\u4f53\u7981\u7528&#xff08;\u907f\u514d\u300c\u4f20\u4e86\u6570\u7ec4\u5374\u88ab\u9759\u9ed8\u5f53\u6210\u542f\u7528\u300d\u8fd9\u7c7b\u6b67\u4e49&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledSides <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> <span class=\"token punctuation\">{<\/span> disabled <span class=\"token punctuation\">}<\/span> <span class=\"token operator\">&#061;<\/span> props<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>disabled<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> isRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">[<\/span>disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">||<\/span> disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">||<\/span> disabled<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span>disabled<span class=\"token punctuation\">,<\/span> disabled<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u6574\u4f53\u7981\u7528&#xff1a;\u8303\u56f4\u5f62\u6001\u4e24\u6bb5\u90fd\u7981\u7528\u3001\u5355\u9009\u5f62\u6001\u540c\u6bb5\u72b6\u6001 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> fullyDisabled <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&amp;&amp;<\/span> disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u4e3a\u65e5\u671f\u65f6\u95f4\u8303\u56f4\u5f62\u6001&#xff1a;\u5355\u4e2a\u65e5\u671f\u65f6\u95f4\u9762\u677f&#xff0c;\u4e24\u6bb5\u9760\u300c\u786e\u5b9a\u300d\u5207\u6362\u7f16\u8f91 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> isDateTimeRange <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> props<span class=\"token punctuation\">.<\/span>type <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;datetimerange&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5f62\u6001\u5bf9\u5e94\u7684\u9762\u677f\u5c42\u7ea7&#xff1a;\u5468 \/ \u6708 \/ \u5b63 \/ \u5e74\u5f62\u6001\u76f4\u63a5\u843d\u5728\u5bf9\u5e94\u5c42\u7ea7&#xff0c;\u65e5\u671f\u4e0e\u5e26\u65f6\u95f4\u5f62\u6001\u843d\u5728\u65e5\u671f\u5c42\u7ea7 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> panelBaseMode <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerPanelMode<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">getPanelModeOf<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>type<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u4e3a\u9700\u70b9\u300c\u786e\u5b9a\u300d\u624d\u63d0\u4ea4\u7684\u5f62\u6001&#xff08;\u542b\u65f6\u95f4\u9762\u677f&#xff09;&#xff1a;\u9762\u677f\u5185\u7684\u9009\u62e9\u53ea\u843d\u8349\u7a3f&#xff0c;\u5931\u7126\u6309\u53d6\u6d88\u5904\u7406 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> needConfirm <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> isDateTime<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> isDateTimeRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u6d6e\u5c42\u4e0e\u89e6\u53d1\u5668\u7684\u95f4\u8ddd&#xff1a;\u8303\u56f4\u5f62\u6001\u989d\u5916\u9884\u7559\u7bad\u5934\u7684\u9ad8\u5ea6 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> popupOffset <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">?<\/span> <span class=\"token constant\">RANGE_POPUP_OFFSET<\/span> <span class=\"token operator\">:<\/span> <span class=\"token constant\">POPUP_OFFSET<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5c55\u793a\u683c\u5f0f&#xff1a;\u672a\u6307\u5b9a\u65f6\u968f\u5f62\u6001\u53d6\u9ed8\u8ba4\u503c&#xff1b;\u9762\u677f\u7684\u65f6\u95f4\u5217\u663e\u9690\u4e5f\u6309\u5b83\u63a8\u5bfc *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedFormat <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> props<span class=\"token punctuation\">.<\/span>format <span class=\"token operator\">??<\/span> <span class=\"token function\">getDefaultFormat<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>type<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5c55\u793a\u4e0e\u56de\u5199\u5171\u7528\u7684\u683c\u5f0f&#xff1a;&#096;valueFormat&#096; \u4f18\u5148&#xff0c;\u672a\u6307\u5b9a\u65f6\u8ddf\u968f\u5c55\u793a\u683c\u5f0f *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedValueFormat <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> props<span class=\"token punctuation\">.<\/span>valueFormat <span class=\"token operator\">??<\/span> mergedFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8f93\u5165\u6846\u6309\u683c\u5f0f\u957f\u5ea6\u4f30\u5bbd&#xff0c;\u907f\u514d\u6d4f\u89c8\u5668\u6309 20 \u5b57\u7b26\u9ed8\u8ba4\u4f30\u5bbd\u5bfc\u81f4\u89e6\u53d1\u5668\u660e\u663e\u504f\u5bbd *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> inputSize <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">getInputSize<\/span><span class=\"token punctuation\">(<\/span>mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5b57\u7b26\u4e32\u8f68\u9053\u53d7\u63a7&#xff1a;\u7236\u7ec4\u4ef6\u4f20\u5165 &#096;formattedValue&#096; \u65f6\u4ee5\u5b83\u4e3a\u51c6&#xff0c;\u4e0e\u4e3b\u8f68\u9053\u89e3\u8026 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> formattedControlled <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> innerValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>formattedControlled<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">typeof<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;string&#039;<\/span><br \/>\n      <span class=\"token operator\">?<\/span> <span class=\"token function\">parseTimestamp<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>formattedValue<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n      <span class=\"token operator\">:<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">typeof<\/span> valueModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;number&#039;<\/span> <span class=\"token operator\">?<\/span> valueModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">:<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u6bb5\u6587\u672c \u2192 \u65f6\u95f4\u6233&#xff08;\u7a7a\u6587\u672c\u89c6\u4e3a\u8be5\u6bb5\u672a\u9009&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">parseSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>text<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">parseTimestamp<\/span><span class=\"token punctuation\">(<\/span>text <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u6bb5\u65f6\u95f4\u6233 \u2192 \u5c55\u793a\u6587\u672c&#xff08;\u8be5\u6bb5\u672a\u9009\u65f6\u4e3a\u7a7a\u5b57\u7b26\u4e32&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> timestamp <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">||<\/span> timestamp <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">undefined<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">formatTimestamp<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u5f62\u6001\u7684\u5df2\u63d0\u4ea4\u533a\u95f4&#xff1a;\u5b57\u7b26\u4e32\u8f68\u9053\u53d7\u63a7\u65f6\u4ee5\u5176\u4e3a\u51c6&#xff0c;\u7ed3\u6784\u4e0d\u7b26\u6216\u89e3\u6790\u5931\u8d25\u65f6\u8be5\u6bb5\u4e3a\u7a7a *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>formattedControlled<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> formatted <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue<br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>formatted<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">null<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">parseSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>formatted<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">parseSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>formatted<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> raw <span class=\"token operator\">&#061;<\/span> valueModel<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>raw<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span>raw<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> raw<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8349\u7a3f\u503c&#xff1a;\u5e26\u65f6\u95f4\u5f62\u6001\u5728\u9762\u677f\u5c55\u5f00\u671f\u95f4\u53ea\u628a\u9009\u62e9\u843d\u5728\u8349\u7a3f\u4e0a&#xff0c;\u70b9\u300c\u786e\u5b9a\u300d\u624d\u63d0\u4ea4&#xff0c;\u5173\u95ed\u5373\u4e22\u5f03 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> draftValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8349\u7a3f\u533a\u95f4&#xff1a;\u8303\u56f4\u5f62\u6001\u7684\u9009\u62e9\u5148\u843d\u8349\u7a3f&#xff0c;\u4e24\u6bb5\u9f50\u5168&#xff08;\u6216\u8be5\u6bb5\u5141\u8bb8\u4e3a\u7a7a&#xff09;\u65f6\u624d\u5bf9\u5916\u63d0\u4ea4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> draftRange <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u5f62\u6001\u5f53\u524d\u6fc0\u6d3b\u7684\u6bb5&#xff1a;\u51b3\u5b9a\u60ac\u6d6e\u9884\u89c8\u4e0e\u4e0b\u4e00\u6b21\u9009\u62e9\u4f5c\u7528\u4e8e\u54ea\u4e00\u7aef *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> activeSide <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeSide<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;start&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u89e6\u53d1\u5668\u4e0a\u7684\u6fc0\u6d3b\u6bb5\u4e0b\u6807&#xff08;0 \u4e3a\u8d77\u70b9\u6bb5&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> activeTriggerIndex <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span>activeSide<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u4e0a\u60ac\u6d6e\u7684\u65e5\u671f&#xff1a;\u8303\u56f4\u5f62\u6001\u5728\u5f53\u524d\u6fc0\u6d3b\u6bb5\u3001\u5355\u9009\u5f62\u6001\u5728\u8f93\u5165\u6846\u663e\u793a\u8be5\u65e5\u671f\u7684\u9884\u89c8\u6587\u672c *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> hoverTimestamp <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9884\u8bbe\u60ac\u6d6e\u4ea7\u751f\u7684\u9884\u89c8\u533a\u95f4&#xff1a;\u8303\u56f4\u5f62\u6001\u636e\u6b64\u5728\u9762\u677f\u4e0a\u9884\u89c8\u8be5\u533a\u95f4&#xff08;\u4e0d\u6539\u53d8\u5df2\u9009\u503c&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> presetPreview <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5f53\u524d\u5c55\u793a\u9884\u89c8\u6587\u672c&#xff08;\u60ac\u6d6e\u9762\u677f\u65e5\u671f\u4ea7\u751f\u7684\u4e34\u65f6\u503c&#xff09;\u7684\u6bb5&#xff1a;\u8be5\u6bb5\u6587\u5b57\u53d6\u63d0\u793a\u8272 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> hoverPreviewIndex <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token number\">0<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">1<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u4f9d\u8d56\u9700\u5148\u8bfb\u53d6&#xff1a;\u6761\u4ef6\u77ed\u8def\u4f1a\u8ba9\u540e\u7eed\u4f9d\u8d56\u5728\u9996\u8f6e\u6c42\u503c\u65f6\u4e0d\u88ab\u6536\u96c6&#xff0c;\u4e4b\u540e\u60ac\u6d6e\u53d8\u5316\u4fbf\u4e0d\u518d\u89e6\u53d1\u91cd\u7b97<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> hovered <span class=\"token operator\">&#061;<\/span> hoverTimestamp<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isRangeType <span class=\"token operator\">&#061;<\/span> isRange<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isPanelOpen <span class=\"token operator\">&#061;<\/span> openModel<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>isRangeType <span class=\"token operator\">||<\/span> <span class=\"token operator\">!<\/span>isPanelOpen <span class=\"token operator\">||<\/span> hovered <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> activeTriggerIndex<span class=\"token punctuation\">.<\/span>value<br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u9009\u5f62\u6001\u4e0b\u6b63\u5728\u9884\u89c8\u7684\u65f6\u95f4\u6233&#xff08;\u9762\u677f\u5c55\u5f00\u4e14\u60ac\u6d6e\u4e86\u65e5\u671f\u683c&#xff09;&#xff0c;\u65e0\u9884\u89c8\u4e3a null *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> singlePreviewTimestamp <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u4f9d\u8d56\u5148\u8bfb\u53d6&#xff08;\u540c hoverPreviewIndex&#xff09;&#xff1a;\u6761\u4ef6\u77ed\u8def\u4f1a\u6f0f\u91c7\u4f9d\u8d56&#xff0c;\u60ac\u6d6e\u53d8\u5316\u4fbf\u4e0d\u518d\u89e6\u53d1\u91cd\u7b97<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> hovered <span class=\"token operator\">&#061;<\/span> hoverTimestamp<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isRangeType <span class=\"token operator\">&#061;<\/span> isRange<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isPanelOpen <span class=\"token operator\">&#061;<\/span> openModel<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token operator\">!<\/span>isRangeType <span class=\"token operator\">&amp;&amp;<\/span> isPanelOpen <span class=\"token operator\">?<\/span> hovered <span class=\"token operator\">:<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u6307\u793a\u7bad\u5934\u76f8\u5bf9\u8f93\u5165\u533a\u5de6\u8fb9\u7f18\u7684\u504f\u79fb&#xff1a;\u4e0e\u6fc0\u6d3b\u6bb5\u4e0b\u5212\u7ebf\u540c\u6e90\u3001\u968f\u6fc0\u6d3b\u6bb5\u5e73\u79fb&#xff08;\u8303\u56f4\u5f62\u6001\u4e13\u7528&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeArrowLeft <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">ref<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u672c\u6b21\u5c55\u5f00\u671f\u95f4\u88ab\u6fc0\u6d3b\u8fc7\u7684\u6bb5&#xff1a;\u51b3\u5b9a\u5bf9\u4fa7\u8d8a\u754c\u65e5\u671f\u7684\u7981\u7528&#xff08;\u6536\u8d77\u5373\u6e05\u7a7a&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> activatedSides <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>Record<span class=\"token operator\">&lt;<\/span>PickerRangeSide<span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token operator\">&gt;&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span> start<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">,<\/span> end<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u6fc0\u6d3b\u67d0\u6bb5&#xff1a;\u9762\u677f\u5c55\u5f00\u3001\u9009\u5b8c\u4e00\u6bb5\u540e\u5207\u6362\u3001\u805a\u7126\u67d0\u6bb5\u8f93\u5165\u6846\u90fd\u7b97\u4e00\u6b21\u6fc0\u6d3b *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">activateSide<\/span><span class=\"token punctuation\">(<\/span>side<span class=\"token operator\">:<\/span> PickerRangeSide<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  activeSide<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> side<br \/>\n  activatedSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span>side<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">true<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u6e05\u7a7a\u6bb5\u6fc0\u6d3b\u8bb0\u5f55&#xff08;\u6536\u8d77\u9762\u677f\u65f6\u8c03\u7528&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">resetActivatedSides<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  activatedSides<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span> start<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">,<\/span> end<span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u9762\u677f\u5c55\u793a\u503c&#xff1a;\u5c55\u5f00\u671f\u95f4\u6709\u8349\u7a3f\u5219\u53d6\u8349\u7a3f&#xff0c;\u5176\u4f59\u60c5\u51b5\u8ddf\u968f\u5df2\u63d0\u4ea4\u503c<br \/>\n *<br \/>\n * \u8349\u7a3f\u5bf9**\u6240\u6709\u5f62\u6001**\u751f\u6548&#xff08;\u4e0d\u9650\u4e8e\u5e26\u65f6\u95f4\u5f62\u6001&#xff09;&#xff1a;\u9f20\u6807\u9009\u62e9\u5728\u5355\u9009\u5f62\u6001\u4e0b\u5373\u65f6\u63d0\u4ea4\u5e76\u6536\u8d77\u3001\u4e0d\u4f1a\u7559\u4e0b\u8349\u7a3f&#xff0c;<br \/>\n * \u552f\u4e00\u4f1a\u4ea7\u751f\u8349\u7a3f\u7684\u662f\u952e\u76d8\u5bfc\u822a\u2014\u2014\u5b83\u53ea\u628a\u5149\u6807\u843d\u5728\u8349\u7a3f\u4e0a&#xff08;\u8fde\u540c\u8f93\u5165\u6846\u6587\u672c&#xff09;&#xff0c;\u7531\u56de\u8f66\u6216\u300c\u786e\u5b9a\u300d\u843d\u503c\u3002<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> panelTimestamp <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> drafting <span class=\"token operator\">&#061;<\/span> openModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> drafting <span class=\"token operator\">?<\/span> draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">:<\/span> innerValue<span class=\"token punctuation\">.<\/span>value<br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u5c55\u793a\u533a\u95f4&#xff1a;\u8303\u56f4\u5f62\u6001\u5c55\u5f00\u671f\u95f4\u53d6\u8349\u7a3f&#xff0c;\u5176\u4f59\u60c5\u51b5\u8ddf\u968f\u5df2\u63d0\u4ea4\u503c *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> panelRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> drafting <span class=\"token operator\">&#061;<\/span> isRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> openModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> drafting <span class=\"token operator\">?<\/span> draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">:<\/span> rangeValue<span class=\"token punctuation\">.<\/span>value<br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u8303\u56f4\u5f62\u6001\u7684\u9762\u677f\u7981\u7528\u5224\u5b9a&#xff1a;\u6fc0\u6d3b\u6bb5\u4e3a\u8d77\u70b9\u65f6&#xff0c;\u672c\u6b21\u5c55\u5f00\u4e2d\u7ec8\u70b9\u6bb5\u88ab\u6fc0\u6d3b\u8fc7\u4e14\u6709\u503c \u2192 \u7981\u7528\u300c\u665a\u4e8e\u7ec8\u70b9\u300d\u7684\u65e5\u671f&#xff0c;<br \/>\n * \u53cd\u4e4b\u540c\u7406\u3002\u7528\u6237\u4f20\u5165\u7684 &#096;disabledDate&#096; \u59cb\u7ec8\u4f18\u5148<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedRangeDisabledDate <span class=\"token operator\">&#061;<\/span> computed<span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> userDisabledDate <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>disabledDate<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> userDisabledDate<br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> panelRangeValue<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isStartSide <span class=\"token operator\">&#061;<\/span> activeSide<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> boundary <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span>isStartSide <span class=\"token operator\">?<\/span> current<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> current<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> otherSideActivated <span class=\"token operator\">&#061;<\/span> isStartSide <span class=\"token operator\">?<\/span> activatedSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">.<\/span>end <span class=\"token operator\">:<\/span> activatedSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">.<\/span>start<br \/>\n  <span class=\"token comment\">\/\/ \u5bf9\u7aef\u6574\u4f53\u7981\u7528\u65f6\u8be5\u6bb5\u88ab\u5bf9\u7aef\u7684\u503c\u9501\u6b7b&#xff08;\u8d77\u70b9\u4e0d\u5f97\u665a\u4e8e\u5df2\u7981\u7528\u7684\u7ec8\u70b9&#xff0c;\u53cd\u4e4b\u4ea6\u7136&#xff09;&#xff1a;\u5bf9\u7aef\u4e0d\u4f1a\u518d\u88ab\u6fc0\u6d3b&#xff0c;<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u7ea6\u675f\u56e0\u6b64\u76f4\u63a5\u751f\u6548&#xff0c;\u4e0d\u4ee5\u4e0a\u8ff0\u300c\u5df2\u6fc0\u6d3b\u8fc7\u300d\u4e3a\u524d\u63d0<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> otherSideDisabled <span class=\"token operator\">&#061;<\/span> isStartSide <span class=\"token operator\">?<\/span> disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>boundary <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">||<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>otherSideActivated <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token operator\">!<\/span>otherSideDisabled<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> userDisabledDate<br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>userDisabledDate<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">true<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token function\">isOutOfRangeBoundary<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> boundary<span class=\"token punctuation\">,<\/span> <span class=\"token operator\">!<\/span>isStartSide<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u9009\u5f62\u6001\u7684\u7981\u7528\u65f6\u95f4&#xff1a;\u5bf9\u5916\u53e3\u5f84\u517c\u5bb9\u4e24\u79cd\u7b7e\u540d&#xff0c;\u6b64\u5904\u53ea\u900f\u4f20\u65f6\u95f4\u6233 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> singleDisabledTime <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerDisabledTime <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> disabledTime <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>disabledTime<br \/>\n  <span class=\"token keyword\">return<\/span> disabledTime <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span>disabledTime <span class=\"token keyword\">as<\/span> PickerDisabledTime<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u5f62\u6001\u7684\u7981\u7528\u65f6\u95f4&#xff1a;\u6bb5\u6807\u8bc6\u7531\u9762\u677f\u5bb9\u5668\u6309\u5f53\u524d\u6fc0\u6d3b\u6bb5\u6ce8\u5165 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeDisabledTime <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerRangeDisabledTime <span class=\"token operator\">|<\/span> <span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> disabledTime <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>disabledTime<br \/>\n  <span class=\"token keyword\">return<\/span> isDateTimeRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> disabledTime <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">(<\/span>disabledTime <span class=\"token keyword\">as<\/span> PickerRangeDisabledTime<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token keyword\">undefined<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u9009\u5f62\u6001\u7684\u9ed8\u8ba4\u65f6\u5206\u79d2&#xff1a;\u6309\u6bb5\u6307\u5b9a\u65f6\u53d6\u9996\u9879&#xff08;\u5355\u9009\u53ea\u6709\u4e00\u6bb5&#xff09;&#xff0c;\u8303\u56f4\u5f62\u6001\u7531\u8303\u56f4\u9762\u677f\u6309\u6fc0\u6d3b\u6bb5\u53d6 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> singleDefaultTime <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">getDefaultTime<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>defaultTime<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u53d7\u63a7\u5b57\u7b26\u4e32\u89e3\u6790\u5931\u8d25\u65f6\u539f\u6837\u5c55\u793a&#xff0c;\u907f\u514d\u7528\u6237\u8f93\u5165\u88ab\u9759\u9ed8\u4e22\u5f03<\/span><br \/>\n<span class=\"token comment\">\/\/ &#xff08;\u5b57\u7b26\u4e32\u8f68\u9053\u53d7\u7ba1\u65f6\u5c55\u793a\u4ee5\u53d7\u7ba1\u6587\u672c\u4e3a\u51c6&#xff0c;\u8349\u7a3f\u4e0d\u56de\u5199\u5c55\u793a&#xff0c;\u907f\u514d\u4e0e\u5e94\u7528\u5c42\u6301\u6709\u7684\u6587\u672c\u8131\u8282&#xff09;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> displayText <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>formattedControlled<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">typeof<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;string&#039;<\/span> <span class=\"token operator\">?<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue <span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;&#039;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u60ac\u6d6e\u9762\u677f\u65e5\u671f\u65f6\u6539\u4e3a\u5c55\u793a\u8be5\u65e5\u671f\u7684\u9884\u89c8\u6587\u672c&#xff08;\u4e0e\u5c55\u793a\u683c\u5f0f\u540c\u53e3\u5f84&#xff0c;\u4e0d\u5199\u503c&#xff09;<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> preview <span class=\"token operator\">&#061;<\/span> singlePreviewTimestamp<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>preview <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token function\">formatTimestamp<\/span><span class=\"token punctuation\">(<\/span>preview<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> panelTimestamp<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">formatTimestamp<\/span><span class=\"token punctuation\">(<\/span>panelTimestamp<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u89e6\u53d1\u5668\u4e24\u6bb5\u6587\u672c&#xff1a;\u5b57\u7b26\u4e32\u8f68\u9053\u53d7\u63a7\u65f6\u4ee5\u5176\u4e3a\u51c6&#xff0c;\u5426\u5219\u6309\u5c55\u793a\u683c\u5f0f\u9010\u6bb5\u751f\u6210 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> displayRangeTexts <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> formatted <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>formattedValue<br \/>\n  <span class=\"token keyword\">let<\/span> texts<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>formattedControlled<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>formatted<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    texts <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span>formatted<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">,<\/span> formatted<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> panelRangeValue<span class=\"token punctuation\">.<\/span>value<br \/>\n    texts <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u60ac\u6d6e\u9762\u677f\u65e5\u671f\u65f6&#xff0c;\u5f53\u524d\u6fc0\u6d3b\u6bb5\u663e\u793a\u8be5\u65e5\u671f\u7684\u9884\u89c8\u6587\u672c<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u26a0\ufe0f \u4f9d\u8d56\u5148\u8bfb\u53d6&#xff08;\u540c hoverPreviewIndex&#xff09;&#xff1a;\u6761\u4ef6\u77ed\u8def\u4f1a\u6f0f\u91c7 &#096;hoverTimestamp&#096;&#xff0c;\u60ac\u6d6e\u4e0d\u518d\u89e6\u53d1\u91cd\u7b97<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> hovered <span class=\"token operator\">&#061;<\/span> hoverTimestamp<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isRangeType <span class=\"token operator\">&#061;<\/span> isRange<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">const<\/span> isPanelOpen <span class=\"token operator\">&#061;<\/span> openModel<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRangeType <span class=\"token operator\">&amp;&amp;<\/span> isPanelOpen <span class=\"token operator\">&amp;&amp;<\/span> hovered <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    texts<span class=\"token punctuation\">[<\/span>activeTriggerIndex<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>hovered<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> texts<br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u4e24\u6bb5\u8f93\u5165\u7684\u63d0\u793a\u6587\u5b57&#xff1a;\u53ea\u7ed9\u5355\u503c\u65f6\u4e24\u6bb5\u5171\u7528\u540c\u4e00\u6587\u6848 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> mergedPlaceholders <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> placeholder <span class=\"token operator\">&#061;<\/span> props<span class=\"token punctuation\">.<\/span>placeholder<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>placeholder<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span>placeholder<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">,<\/span> placeholder<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span>placeholder<span class=\"token punctuation\">,<\/span> placeholder<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u6bb5\u8f93\u5165\u7684\u63d0\u793a\u6587\u5b57&#xff08;\u8303\u56f4\u5f62\u6001\u7531 &#096;placeholders&#096; \u627f\u62c5&#xff0c;\u6b64\u5904\u4f20\u7a7a&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> singlePlaceholder <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>placeholder<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;&#039;<\/span> <span class=\"token operator\">:<\/span> props<span class=\"token punctuation\">.<\/span>placeholder<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> showClear <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>props<span class=\"token punctuation\">.<\/span>allowClear <span class=\"token operator\">||<\/span> fullyDisabled<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">false<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span>rangeValue<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">||<\/span> <span class=\"token punctuation\">(<\/span>rangeValue<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> innerValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5b9e\u9645\u65b9\u5411&#xff1a;\u5b9a\u4f4d\u5185\u6838\u7ffb\u8f6c \/ \u6b21\u8f74\u81ea\u9002\u5e94\u540e\u7684\u7ed3\u679c&#xff08;\u5bbf\u4e3b\u672a\u6302\u8f7d\u65f6\u9000\u56de\u671f\u671b\u65b9\u5411&#xff09;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> actualPlacement <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">computed<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>FloatingPlacement<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> popupRef<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span>actualPlacement <span class=\"token operator\">??<\/span> props<span class=\"token punctuation\">.<\/span>placement<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u662f\u5426\u5c55\u793a\u9762\u677f\u6307\u793a\u7bad\u5934<br \/>\n *<br \/>\n * \u4e0d\u4f20 &#096;showArrow&#096; \u65f6\u6309\u300c\u5b9e\u9645\u65b9\u4f4d\u300d\u5224\u5b9a&#xff0c;\u4f20\u503c\u5219\u4ee5\u663e\u5f0f\u5f00\u5173\u4e3a\u51c6\u3002<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> showRangeArrow <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>isRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> props<span class=\"token punctuation\">.<\/span>showArrow <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">false<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> props<span class=\"token punctuation\">.<\/span>showArrow <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token boolean\">true<\/span> <span class=\"token operator\">||<\/span> <span class=\"token constant\">ARROW_PLACEMENTS<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">includes<\/span><span class=\"token punctuation\">(<\/span>actualPlacement<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u8fc7\u6e21&#xff1a;\u4ec5\u7ed9 name&#xff0c;\u7c7b\u540d\u8d70 Vue \u9ed8\u8ba4\u6d3e\u751f&#xff08;-enter-from\/-enter-active\/\u2026&#xff09;\u3002\u5c55\u5f00 \/ \u6536\u8d77\u7684\u7f29\u653e\u539f\u70b9<br \/>\n    \u968f**\u5b9e\u9645\u65b9\u4f4d**\u53d6&#xff08;\u89c1 &#096;datepicker-zoom&#096; \u4e00\u8282&#xff09;&#xff0c;\u8fc7\u6e21\u540d\u56e0\u6b64\u4e0e\u65b9\u4f4d\u65e0\u5173 \u2014\u2014 \u9996\u5e27\u65b9\u4f4d\u672a\u56de\u586b\u4e5f\u4e0d\u4f1a\u53d6\u53cd\u5411\u52a8\u6548 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> panelTransitionProps<span class=\"token operator\">:<\/span> TransitionProps <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span> name<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;datepicker-zoom&#039;<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token function\">watch<\/span><span class=\"token punctuation\">(<\/span><br \/>\n  <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> openModel<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> rangeValue<span class=\"token punctuation\">.<\/span>value <span class=\"token comment\">\/\/ \u5c55\u5f00\u65f6\u4ee5\u5df2\u63d0\u4ea4\u533a\u95f4\u4e3a\u8349\u7a3f\u8d77\u70b9<\/span><br \/>\n      <span class=\"token comment\">\/\/ \u5c55\u5f00\u5373\u89c6\u4e3a\u6fc0\u6d3b\u5f53\u524d\u6bb5&#xff1a;\u6bb5\u7531\u70b9\u51fb\u7684\u8f93\u5165\u6846\u51b3\u5b9a&#xff0c;\u4e0d\u5f3a\u5236\u56de\u5230\u8d77\u70b9\u6bb5&#xff0c;<\/span><br \/>\n      <span class=\"token comment\">\/\/ \u4ee5\u514d\u300c\u70b9\u7b2c\u4e8c\u6bb5\u5374\u88ab\u62c9\u56de\u7b2c\u4e00\u6bb5\u300d<\/span><br \/>\n      <span class=\"token function\">activateSide<\/span><span class=\"token punctuation\">(<\/span>activeSide<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n      <span class=\"token keyword\">return<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token comment\">\/\/ \u6536\u8d77\u5373\u4e22\u5f03\u8349\u7a3f&#xff0c;\u672a\u70b9\u300c\u786e\u5b9a\u300d\u7684\u9009\u62e9\u4e0d\u751f\u6548<\/span><br \/>\n    draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n    <span class=\"token function\">resetActivatedSides<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token comment\">\/\/ \u6bb5\u6fc0\u6d3b\u8bb0\u5f55\u53ea\u5728\u672c\u6b21\u5c55\u5f00\u671f\u95f4\u6709\u6548<\/span><br \/>\n    hoverTimestamp<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token comment\">\/\/ \u6536\u8d77\u4e0d\u91cd\u7f6e\u6fc0\u6d3b\u6bb5&#xff1a;\u4e0b\u5212\u7ebf\u56e0\u800c\u505c\u5728\u539f\u6bb5<\/span><br \/>\n    presetPreview<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token comment\">\/\/ \u9884\u8bbe\u60ac\u6d6e\u9884\u89c8\u540c\u6837\u53ea\u5728\u672c\u6b21\u5c55\u5f00\u671f\u95f4\u6709\u6548<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> immediate<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u627f\u8f7d\u5c42&#xff08;Modal \/ Drawer \/ Dialog \/ \u5916\u5c42\u6d6e\u5c42\u9762\u677f&#xff09;\u5173\u95ed\u65f6\u6536\u8d77&#xff1a;\u5bb9\u5668\u5173\u95ed\u53ea\u662f v-show \u9690\u85cf\u3001\u4e0d\u6d3e\u53d1\u4efb\u4f55<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6307\u9488\u6216\u7126\u70b9\u4e8b\u4ef6&#xff0c;\u9762\u677f\u4f1a\u505c\u5728\u6253\u5f00\u6001\u5e76\u5360\u7740\u5c42\u7ea7\u69fd\u4f4d&#xff0c;\u5bb9\u5668\u91cd\u5f00\u65f6\u4ee5\u300c\u4ecd\u6253\u5f00\u300d\u7684\u6837\u5b50\u51fa\u73b0\u3002<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6536\u8d77\u8d70\u540c\u4e00\u4e2a\u5165\u53e3&#xff0c;\u8349\u7a3f\u590d\u4f4d\u7531\u4e0a\u9762\u7684 open watcher \u627f\u62c5<\/span><br \/>\n<span class=\"token function\">useContainerClose<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span>next<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>fullyDisabled<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> openModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> next<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n  openModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> next<br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;openChange&#039;<\/span><span class=\"token punctuation\">,<\/span> next<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u70b9\u51fb\u89e6\u53d1\u5668\u53ea\u8d1f\u8d23\u5c55\u5f00&#xff08;\u5c55\u5f00\u6001\u70b9\u51fb\u4e0d\u6536\u8d77&#xff0c;\u6536\u8d77\u7531\u5916\u90e8\u70b9\u51fb \/ Esc \/ \u9009\u4e2d\u503c\u89e6\u53d1&#xff09;&#xff1a;\u6309\u843d\u70b9\u786e\u5b9a\u672c\u6b21\u4f1a\u8bdd\u7684<br \/>\n * \u6fc0\u6d3b\u6bb5&#xff08;\u70b9\u7ec8\u70b9\u6bb5\u5373\u6fc0\u6d3b\u7ec8\u70b9\u6bb5&#xff0c;\u70b9\u7a7a\u767d\u533a\u843d\u5230\u8d77\u70b9\u6bb5&#xff09;\u5e76\u628a\u7126\u70b9\u79fb\u5230\u8be5\u6bb5\u8f93\u5165\u6846 \u2014\u2014 \u805a\u7126\u6001\u7531 focus \u9a71\u52a8&#xff0c;<br \/>\n * \u9762\u677f\u6536\u8d77\u540e\u4e0b\u5212\u7ebf\u4e0d\u4f1a\u968f\u4e4b\u6de1\u51fa<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onTriggerClick<\/span><span class=\"token punctuation\">(<\/span>index<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">1<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u9762\u677f\u64cd\u4f5c\u6001\u4e0b\u8f93\u5165\u6846\u662f\u53ea\u8bfb\u7684&#xff0c;\u70b9\u51fb\u8f93\u5165\u533a\u5373\u628a\u952e\u76d8\u6536\u56de\u6587\u672c\u8f93\u5165\u6001&#xff0c;\u6062\u590d\u624b\u8f93<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>keyboardPanelMode<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    keyboardPanelMode<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">false<\/span><br \/>\n    activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>openModel<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u8be5\u6bb5\u88ab\u7981\u7528\u65f6\u4e0d\u5c55\u5f00&#xff1a;\u7981\u7528\u6bb5\u4e0d\u53ef\u7f16\u8f91&#xff0c;\u5c55\u5f00\u540e\u4e5f\u6ca1\u6709\u53ef\u9009\u7684\u6bb5<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span>index<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token function\">activateSide<\/span><span class=\"token punctuation\">(<\/span>index <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;end&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">true<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">nextTick<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    triggerRef<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token function\">focus<\/span><span class=\"token punctuation\">(<\/span>index<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u56de\u5199\u4e24\u6761\u8f68\u9053&#xff1a;\u4e3b\u8f68\u9053\u59cb\u7ec8\u540c\u6b65&#xff0c;\u5b57\u7b26\u4e32\u8f68\u9053\u6309\u540c\u4e00\u683c\u5f0f\u751f\u6210&#xff1b;\u8fd4\u56de\u56de\u5199\u7684\u5b57\u7b26\u4e32&#xff0c;\u4f9b\u300c\u786e\u5b9a\u300d\u4e8b\u4ef6\u590d\u7528 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> PickerFormattedValue <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> nextFormatted <span class=\"token operator\">&#061;<\/span> timestamp <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">formatTimestamp<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n  valueModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> timestamp<br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;update:formattedValue&#039;<\/span><span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;change&#039;<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> nextFormatted<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u9762\u677f\u9009\u62e9&#xff1a;\u9f20\u6807\u70b9\u51fb\u5373\u843d\u503c\u5e76\u6536\u8d77&#xff0c;\u952e\u76d8\u5bfc\u822a\u53ea\u628a\u5149\u6807\u843d\u5728\u8349\u7a3f\u4e0a \u2014\u2014 \u952e\u76d8\u82e5\u4e5f\u5373\u65f6\u843d\u503c&#xff0c;<br \/>\n * \u5355\u9009\u5f62\u6001\u4f1a\u300c\u6309\u4e00\u4e0b\u65b9\u5411\u952e\u5c31\u9009\u5b8c\u5e76\u6536\u8d77\u300d&#xff0c;\u7528\u6237\u65e0\u6cd5\u8fde\u7eed\u79fb\u52a8\u5149\u6807<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onSelect<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> source<span class=\"token operator\">:<\/span> PickerSelectSource <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;mouse&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>source <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;key&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> timestamp<br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u5f62\u6001\u7684\u4e24\u6bb5\u6587\u672c&#xff08;\u8be5\u6bb5\u672a\u9009\u65f6\u4e3a\u7a7a\u5b57\u7b26\u4e32&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">formatRangeValue<\/span><span class=\"token punctuation\">(<\/span>range<span class=\"token operator\">:<\/span> PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> PickerRangeFormattedValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>range <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>range<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">formatSideTimestamp<\/span><span class=\"token punctuation\">(<\/span>range<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u56de\u5199\u8303\u56f4\u5f62\u6001\u7684\u4e24\u6761\u8f68\u9053&#xff0c;\u8fd4\u56de\u56de\u5199\u7684\u6587\u672c\u4f9b\u4e8b\u4ef6\u590d\u7528 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">commitRange<\/span><span class=\"token punctuation\">(<\/span>range<span class=\"token operator\">:<\/span> PickerRangeValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> PickerRangeFormattedValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> nextFormatted <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">formatRangeValue<\/span><span class=\"token punctuation\">(<\/span>range<span class=\"token punctuation\">)<\/span><br \/>\n  valueModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> range<br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;update:formattedValue&#039;<\/span><span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;change&#039;<\/span><span class=\"token punctuation\">,<\/span> range<span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> nextFormatted<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8be5\u6bb5\u7684\u503c\u662f\u5426\u53ef\u5bf9\u5916\u63d0\u4ea4&#xff1a;\u6709\u503c\u5373\u53ef&#xff0c;\u4e3a\u7a7a\u65f6\u9700\u8be5\u6bb5\u58f0\u660e\u300c\u5141\u8bb8\u4e3a\u7a7a\u300d *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">canTriggerSide<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> index<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> timestamp <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">||<\/span> <span class=\"token punctuation\">(<\/span>props<span class=\"token punctuation\">.<\/span>allowEmpty<span class=\"token punctuation\">[<\/span>index<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u5199\u5165\u8303\u56f4\u5f62\u6001\u7684\u67d0\u4e00\u6bb5&#xff08;\u9762\u677f\u9009\u62e9\u4e0e\u624b\u8f93\u63d0\u4ea4\u5171\u7528&#xff09;&#xff1a;\u8d77\u70b9\u665a\u4e8e\u7ec8\u70b9\u65f6\u4e22\u5f03\u53e6\u4e00\u7aef\u3001\u53ea\u4fdd\u7559\u672c\u6b21\u5199\u5165&#xff0c;<br \/>\n * \u4e24\u6bb5\u9f50\u5168&#xff08;\u6216\u672a\u9009\u6bb5\u58f0\u660e\u53ef\u4e3a\u7a7a&#xff09;\u624d\u5bf9\u5916\u63d0\u4ea4&#xff1b;\u53ea\u5199\u5230\u4e00\u6bb5\u65f6\u4fdd\u6301\u5c55\u5f00&#xff0c;\u7531\u8c03\u7528\u573a\u666f\u51b3\u5b9a\u662f\u5426\u5207\u5230\u53e6\u4e00\u7aef\u3002<br \/>\n * \u8fd4\u56de\u5199\u5165\u540e\u7684\u533a\u95f4\u4e0e\u5176\u6587\u672c&#xff08;\u672a\u63d0\u4ea4\u65f6\u5373\u4e3a\u8349\u7a3f&#xff09;&#xff0c;\u4f9b &#096;ok&#096; \u4e8b\u4ef6\u590d\u7528<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">applyRangeSide<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> side<span class=\"token operator\">:<\/span> PickerRangeSide<span class=\"token punctuation\">,<\/span> switchSide<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> rangeValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token keyword\">let<\/span> next<span class=\"token operator\">:<\/span> PickerRangeValue <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">[<\/span>timestamp<span class=\"token punctuation\">,<\/span> current<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>current<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span> next<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span> next<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&gt;<\/span> next<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    next <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">[<\/span>timestamp<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> nextFormatted <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">formatRangeValue<\/span><span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> canCommit <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">canTriggerSide<\/span><span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">canTriggerSide<\/span><span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> next<br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;calendarChange&#039;<\/span><span class=\"token punctuation\">,<\/span> next<span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span> range<span class=\"token operator\">:<\/span> side <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>canCommit<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">commitRange<\/span><span class=\"token punctuation\">(<\/span>next<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u53e6\u4e00\u7aef\u300c\u672c\u6b21\u5c55\u5f00\u4e2d\u5c1a\u672a\u6fc0\u6d3b\u300d\u6216\u300c\u5c1a\u65e0\u503c\u300d\u4e14\u672a\u88ab\u7981\u7528\u65f6&#xff0c;\u5207\u5230\u8be5\u7aef\u7ee7\u7eed\u9009\u5e76\u4fdd\u6301\u5c55\u5f00&#xff1b;<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u5426\u5219\u89c6\u4e3a\u672c\u6b21\u533a\u95f4\u5df2\u9009\u5b8c \u2192 \u6536\u8d77&#xff08;\u5bf9\u7aef\u88ab\u7981\u7528\u5373\u5c5e\u6b64\u7c7b&#xff1a;\u5b83\u6ca1\u6709\u53ef\u7ee7\u7eed\u9009\u7684\u6bb5&#xff09;<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> otherSide<span class=\"token operator\">:<\/span> PickerRangeSide <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;end&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;start&#039;<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> currentIndex <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> otherIndex <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token number\">1<\/span> <span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> otherSideDisabled <span class=\"token operator\">&#061;<\/span> disabledSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span>otherIndex<span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> keepOpen <span class=\"token operator\">&#061;<\/span><br \/>\n    switchSide <span class=\"token operator\">&amp;&amp;<\/span><br \/>\n    <span class=\"token operator\">!<\/span>otherSideDisabled <span class=\"token operator\">&amp;&amp;<\/span><br \/>\n    next<span class=\"token punctuation\">[<\/span>currentIndex<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span><br \/>\n    <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>activatedSides<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">[<\/span>otherSide<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">||<\/span> next<span class=\"token punctuation\">[<\/span>otherIndex<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>keepOpen<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">activateSide<\/span><span class=\"token punctuation\">(<\/span>otherSide<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\">\/\/ \u5207\u5230\u53e6\u4e00\u7aef\u65f6\u628a\u7126\u70b9\u4e00\u5e76\u632a\u8fc7\u53bb&#xff08;\u7b49 DOM \u66f4\u65b0\u540e\u518d\u805a\u7126&#xff09;&#xff0c;<\/span><br \/>\n    <span class=\"token comment\">\/\/ \u5426\u5219\u4e0b\u5212\u7ebf\u5df2\u843d\u5230\u53e6\u4e00\u7aef\u3001\u8f93\u5165\u5149\u6807\u8fd8\u7559\u5728\u539f\u6bb5&#xff0c;\u63a5\u7740\u8f93\u5165\u4f1a\u5199\u8fdb\u9519\u8bef\u7684\u4e00\u6bb5<\/span><br \/>\n    <span class=\"token function\">nextTick<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> triggerRef<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token function\">focus<\/span><span class=\"token punctuation\">(<\/span>otherIndex<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span> value<span class=\"token operator\">:<\/span> next<span class=\"token punctuation\">,<\/span> formatted<span class=\"token operator\">:<\/span> nextFormatted <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span> value<span class=\"token operator\">:<\/span> next<span class=\"token punctuation\">,<\/span> formatted<span class=\"token operator\">:<\/span> nextFormatted <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u9762\u677f\u9009\u62e9\u65e5\u671f&#xff1a;\u5199\u5165\u5f53\u524d\u6fc0\u6d3b\u6bb5&#xff0c;\u5e76\u628a\u6fc0\u6d3b\u6bb5\u5207\u5230\u53e6\u4e00\u7aef\u4ee5\u63a5\u7740\u9009\u7b2c\u4e8c\u6bb5&#xff1b;<br \/>\n * \u952e\u76d8\u5bfc\u822a\u540c {&#064;link onSelect}&#xff08;\u53ea\u628a\u8be5\u6bb5\u7684\u8349\u7a3f\u8bbe\u4e3a\u5149\u6807\u6240\u5728\u65e5\u671f&#xff0c;\u4e0d\u843d\u503c\u3001\u4e0d\u5207\u6bb5&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onRangeSelect<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> side<span class=\"token operator\">:<\/span> PickerRangeSide<span class=\"token punctuation\">,<\/span> source<span class=\"token operator\">:<\/span> PickerSelectSource <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;mouse&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>source <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;key&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> rangeValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span><br \/>\n    draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">[<\/span>timestamp<span class=\"token punctuation\">,<\/span> current<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>current<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">]<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">applyRangeSide<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> side<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u7684\u9762\u677f\u8349\u7a3f\u53d8\u66f4&#xff1a;\u4e0e\u5355\u9009\u65e5\u671f\u65f6\u95f4\u5f62\u6001\u540c\u53e3\u5f84&#xff0c;\u9762\u677f\u5185\u7684\u9009\u62e9&#xff08;\u65e5\u671f\u6216\u65f6\u95f4&#xff09;\u53ea\u843d\u5728\u8349\u7a3f\u4e0a\u3001<br \/>\n * \u70b9\u300c\u786e\u5b9a\u300d\u624d\u63d0\u4ea4&#xff1b;\u6b64\u5904\u4e0d\u505a\u300c\u8d77\u70b9\u665a\u4e8e\u7ec8\u70b9\u4e22\u5f03\u53e6\u4e00\u7aef\u300d\u7684\u7ea0\u6b63&#xff0c;\u7ea0\u6b63\u53d1\u751f\u5728\u63d0\u4ea4\u65f6&#xff08;\u4e0e &#096;applyRangeSide&#096; \u540c\u5f84&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onRangeDraftChange<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> side<span class=\"token operator\">:<\/span> PickerRangeSide<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> rangeValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">??<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">[<\/span>timestamp<span class=\"token punctuation\">,<\/span> current<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>current<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u7684\u300c\u786e\u5b9a\u300d&#xff1a;\u5e76\u5165\u5f53\u524d\u6fc0\u6d3b\u6bb5\u5e76\u6309\u9762\u677f\u9009\u62e9\u540c\u5f84\u63d0\u4ea4&#xff0c;\u6d3e\u53d1 &#096;ok&#096; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onRangeConfirm<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> side<span class=\"token operator\">:<\/span> PickerRangeSide<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> <span class=\"token punctuation\">{<\/span> value<span class=\"token operator\">:<\/span> range<span class=\"token punctuation\">,<\/span> formatted <span class=\"token punctuation\">}<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">applyRangeSide<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> side<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">true<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;ok&#039;<\/span><span class=\"token punctuation\">,<\/span> range<span class=\"token punctuation\">,<\/span> formatted<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u60ac\u6d6e\u65e5\u671f\u53d8\u66f4&#xff1a;\u4ec5\u5728\u6fc0\u6d3b\u6bb5\u8f93\u5165\u6846\u505a\u9884\u89c8\u5c55\u793a&#xff0c;\u4e0d\u6539\u53d8\u5df2\u9009\u503c *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onRangeHover<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  hoverTimestamp<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> timestamp<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u5355\u9009\u5f62\u6001\u7684\u60ac\u6d6e\u65e5\u671f\u53d8\u66f4&#xff1a;\u5728\u8f93\u5165\u6846\u505a\u9884\u89c8\u5c55\u793a&#xff0c;\u4e0d\u6539\u53d8\u5df2\u9009\u503c *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onSingleHover<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  hoverTimestamp<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> timestamp<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u805a\u7126\u67d0\u4e00\u6bb5\u8f93\u5165\u6846\u5373\u628a\u6fc0\u6d3b\u6bb5\u5207\u8fc7\u53bb&#xff08;\u540e\u7eed\u9762\u677f\u9009\u62e9\u4e0e\u60ac\u6d6e\u9884\u89c8\u90fd\u4f5c\u7528\u4e8e\u8be5\u6bb5&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onSideFocus<\/span><span class=\"token punctuation\">(<\/span>index<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token function\">activateSide<\/span><span class=\"token punctuation\">(<\/span>index <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;end&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8349\u7a3f\u53d8\u66f4&#xff1a;\u53ea\u66f4\u65b0\u9762\u677f\u8349\u7a3f&#xff0c;\u4e0d\u63d0\u4ea4&#xff08;\u5e26\u65f6\u95f4\u5f62\u6001\u7684\u9009\u62e9\u7531\u300c\u786e\u5b9a\u300d\u7edf\u4e00\u63d0\u4ea4&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onDraftChange<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> timestamp<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u300c\u786e\u5b9a\u300d\/\u300c\u6b64\u523b\u300d\u7684\u63d0\u4ea4&#xff1a;\u90fd\u56de\u5199\u53cc\u8f68\u3001\u6d3e\u53d1 &#096;change&#096; \u5e76\u6536\u8d77\u9762\u677f&#xff08;\u6536\u8d77\u65f6\u8349\u7a3f\u7531 &#096;open&#096; \u7684\u76d1\u542c\u7edf\u4e00\u4e22\u5f03&#xff09;&#xff1b;<br \/>\n * \u5dee\u5f02\u4ec5\u5728\u4e8b\u4ef6 \u2014\u2014 &#096;ok&#096; \u53ea\u7531\u300c\u786e\u5b9a\u300d\u6d3e\u53d1&#xff0c;\u300c\u6b64\u523b\u300d\u662f\u300c\u8df3\u5230\u5f53\u524d\u65f6\u523b\u300d\u7684\u5feb\u6377\u5165\u53e3\u3001\u4e0d\u6d3e\u53d1 &#096;ok&#096;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onConfirm<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> source<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;ok&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;now&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> nextFormatted <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>source <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;ok&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;ok&#039;<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">,<\/span> nextFormatted<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onClear<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">commitRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u70b9\u51fb\u9884\u8bbe&#xff1a;\u7acb\u5373\u63d0\u4ea4\u5e76\u6536\u8d77 \u2014\u2014 \u8303\u56f4\u5f62\u6001\u63d0\u4ea4\u6574\u4e2a\u533a\u95f4\u3001\u5355\u9009\u5f62\u6001\u63d0\u4ea4\u5355\u4e2a\u65f6\u95f4\u6233&#xff1b;<br \/>\n * \u503c\u4e0e\u5f62\u6001\u4e0d\u5339\u914d\u7684\u9884\u8bbe\u9879\u5ffd\u7565&#xff0c;\u907f\u514d\u628a\u5355\u4e2a\u65f6\u95f4\u6233\u5199\u8fdb\u4e24\u6bb5\u5143\u7ec4&#xff08;\u53cd\u4e4b\u4ea6\u7136&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onPresetSelect<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token operator\">:<\/span> PickerPresetValue<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n    <span class=\"token function\">commitRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">[<\/span>presetValue<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> presetValue<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n    <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u60ac\u6d6e\u9884\u8bbe&#xff1a;\u8303\u56f4\u5f62\u6001\u5728\u9762\u677f\u4e0a\u9884\u89c8\u8be5\u533a\u95f4&#xff08;\u5355\u9009\u5f62\u6001\u65e0\u9884\u89c8\u53e3\u5f84&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onPresetHover<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token operator\">:<\/span> PickerPresetValue <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>presetValue <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">||<\/span> <span class=\"token operator\">!<\/span><span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">isArray<\/span><span class=\"token punctuation\">(<\/span>presetValue<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    presetPreview<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  presetPreview<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span>presetValue<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> presetValue<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u624b\u8f93\u6587\u672c&#xff1a;\u89e3\u6790\u6210\u529f\u624d\u63d0\u4ea4&#xff0c;\u5931\u8d25\u65f6\u7531\u89e6\u53d1\u5668\u56de\u6eda\u4e3a\u5f53\u524d\u5408\u6cd5\u6587\u672c\u3002\u9762\u677f\u5c55\u5f00\u671f\u95f4\u8f93\u5165\u6846\u5c55\u793a\u7684\u53ef\u80fd\u4e0d\u662f<br \/>\n * \u7528\u6237\u952e\u5165\u7684\u5185\u5bb9&#xff08;\u9700\u70b9\u300c\u786e\u5b9a\u300d\u7684\u5f62\u6001\u5c55\u793a\u9762\u677f\u8349\u7a3f\u3001\u952e\u76d8\u64cd\u4f5c\u6001\u5c55\u793a\u65b9\u5411\u952e\u7684\u5149\u6807\u65e5\u671f&#xff09;&#xff0c;\u8fd9\u4e24\u7c7b\u5931\u7126<br \/>\n * \u90fd\u89c6\u540c\u53d6\u6d88&#xff08;\u4e22\u5f03\u8349\u7a3f\u3001\u4e0d\u843d\u503c&#xff09;&#xff0c;\u5426\u5219\u672a\u786e\u8ba4\u7684\u9009\u62e9\u4f1a\u88ab\u5f53\u6210\u7528\u6237\u8f93\u5165\u843d\u503c&#xff1b;\u56de\u8f66\u4e0e\u300c\u786e\u5b9a\u300d\u540c\u5f84<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onTextConfirm<\/span><span class=\"token punctuation\">(<\/span>text<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> source<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;enter&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;blur&#039;<\/span><span class=\"token punctuation\">,<\/span> index<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">|<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>source <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;blur&#039;<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token punctuation\">(<\/span>needConfirm<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> keyboardPanelMode<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    draftValue<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n    draftRange<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">const<\/span> rangeTimestamp <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">parseTimestamp<\/span><span class=\"token punctuation\">(<\/span>text<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>rangeTimestamp <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token comment\">\/\/ \u56de\u8f66\u7684\u63d0\u4ea4\u8bed\u4e49\u4e0e\u9762\u677f\u9009\u62e9\u540c\u5f84&#xff08;\u5199\u5165\u6fc0\u6d3b\u6bb5\u5e76\u5207\u5230\u53e6\u4e00\u7aef&#xff09;&#xff0c;\u5931\u7126\u53ea\u843d\u503c\u4e0d\u5207\u6bb5<\/span><br \/>\n      <span class=\"token function\">applyRangeSide<\/span><span class=\"token punctuation\">(<\/span>rangeTimestamp<span class=\"token punctuation\">,<\/span> index <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;end&#039;<\/span><span class=\"token punctuation\">,<\/span> source <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;enter&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> timestamp <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">parseTimestamp<\/span><span class=\"token punctuation\">(<\/span>text<span class=\"token punctuation\">,<\/span> mergedValueFormat<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>timestamp <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token function\">commit<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u56de\u8f66\u5373\u63d0\u4ea4\u5e76\u6536\u8d77&#xff08;\u4e0e\u9762\u677f\u9009\u62e9\u540c\u5f84&#xff09;&#xff1a;\u5e26\u65f6\u95f4\u5f62\u6001\u7684\u8349\u7a3f\u7531\u6536\u8d77\u65f6\u7684\u76d1\u542c\u7edf\u4e00\u4e22\u5f03<\/span><br \/>\n  <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEscKeydown<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>openModel<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onPanelChange<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> mode<span class=\"token operator\">:<\/span> PickerPanelMode<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token comment\">\/\/ \u7ffb\u9875 \/ \u94bb\u53d6\u540e\u9762\u677f\u5185\u5bb9\u6574\u4f53\u66f4\u6362&#xff0c;\u9f20\u6807\u5df2\u4e0d\u518d\u5bf9\u5e94\u539f\u6765\u90a3\u4e00\u683c&#xff0c;\u5148\u64a4\u6389\u8f93\u5165\u6846\u7684\u60ac\u6d6e\u9884\u89c8<\/span><br \/>\n  hoverTimestamp<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;panelChange&#039;<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">,<\/span> mode<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/* \u952e\u76d8\u5bfc\u822a *\/<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u7684\u952e\u76d8\u5165\u53e3&#xff1a;\u5404\u9762\u677f\u7ecf &#096;defineExpose&#096; \u66b4\u9732&#xff0c;\u7ec4\u4ef6\u58f3\u5c42\u6309\u5f53\u524d\u5f62\u6001\u628a\u6309\u952e\u8f6c\u7ed9\u5bf9\u5e94\u7684\u9762\u677f *\/<\/span><br \/>\n<span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">PanelKeydownTarget<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token function-variable function\">handleKeydown<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> KeyboardEvent<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">boolean<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u952e\u76d8\u5f52\u5c5e&#xff1a;&#096;false&#096; \u4e3a\u6587\u672c\u8f93\u5165\u6001&#xff08;\u65b9\u5411\u952e\u79fb\u52a8\u8f93\u5165\u5149\u6807&#xff09;&#xff0c;&#096;true&#096; \u4e3a\u9762\u677f\u64cd\u4f5c\u6001&#xff08;\u65b9\u5411\u952e\u64cd\u4f5c\u9762\u677f\u5149\u6807&#xff09;\u3002<br \/>\n * \u4e24\u6001\u7531 Tab \u5207\u6362&#xff1a;\u8f93\u5165\u6001\u4e0b Tab \u53ea\u628a\u952e\u76d8\u4ea4\u7ed9\u9762\u677f\u3001\u7126\u70b9\u4e0d\u52a8&#xff08;\u5426\u5219\u7b2c\u4e00\u4e0b Tab \u5c31\u79fb\u51fa\u7ec4\u4ef6&#xff09;&#xff1b;\u9762\u677f\u64cd\u4f5c\u6001<br \/>\n * \u4e0b Tab \u5728\u4e24\u4e2a\u533a\u4e4b\u95f4\u5faa\u73af&#xff0c;\u5faa\u73af\u5230\u5934\u4ea4\u8fd8\u6d4f\u89c8\u5668\u79fb\u51fa\u7126\u70b9\u3002\u8f93\u5165\u5b57\u7b26\u3001\u70b9\u51fb\u8f93\u5165\u533a\u6216\u91cd\u65b0\u805a\u7126\u5373\u56de\u5230\u8f93\u5165\u6001\u3002<br \/>\n *<br \/>\n * \u9762\u677f\u64cd\u4f5c\u6001\u540c\u65f6\u628a\u8f93\u5165\u6846\u7f6e\u4e3a\u53ea\u8bfb&#xff08;\u63d2\u5165\u5149\u6807\u4e0d\u5e94\u518d\u63d0\u793a\u300c\u53ef\u76f4\u63a5\u8f93\u5165\u300d&#xff0c;\u6b64\u523b\u952e\u76d8\u5f52\u9762\u677f\u6240\u6709&#xff09;\u3002<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> keyboardPanelMode <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">ref<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u952e\u76d8\u64cd\u4f5c\u5f53\u524d\u6240\u5728\u7684\u533a&#xff1a;\u4ec5\u5e26\u65f6\u95f4\u5f62\u6001\u6709\u4e24\u4e2a\u533a\u53ef\u53d6&#xff0c;\u5176\u4f59\u5f62\u6001\u6052\u4e3a\u65e5\u671f\u533a&#xff08;\u9762\u677f\u5185\u90e8\u6309\u8be5\u72b6\u6001\u8f6c\u53d1&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> activeSection <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PickerActiveSection<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u662f\u5426\u5177\u5907\u300c\u65e5\u671f \/ \u65f6\u95f4\u300d\u4e24\u4e2a\u53ef\u5207\u6362\u7684\u533a *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> hasTimeSection <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> isDateTime<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> isDateTimeRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5524\u8d77\u9762\u677f\u7684\u6309\u952e\u4e2d\u4e0d\u4f5c\u6570\u7684\u4e00\u7c7b&#xff1a;\u4fee\u9970\u952e\u4e0d\u662f\u8f93\u5165\u610f\u56fe&#xff0c;Esc \/ \u56de\u8f66\u53e6\u6709\u65e2\u6709\u8bed\u4e49 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">PANEL_OPEN_IGNORED_KEYS<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;Shift&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Control&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Alt&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Meta&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Escape&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;Enter&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangePanelRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PanelKeydownTarget <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> datetimePanelRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PanelKeydownTarget <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> datePanelRef <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>PanelKeydownTarget <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9762\u677f\u5c55\u5f00\u72b6\u6001\u53d8\u5316\u5373\u91cd\u7f6e\u952e\u76d8\u72b6\u6001&#xff1a;\u6536\u8d77\u540e\u4e0d\u518d\u4fdd\u7559\u4e0a\u4e00\u6b21\u7684\u952e\u76d8\u5f52\u5c5e\u4e0e\u6d3b\u52a8\u533a<\/span><br \/>\n<span class=\"token function\">watch<\/span><span class=\"token punctuation\">(<\/span>openModel<span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  keyboardPanelMode<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">false<\/span><br \/>\n  activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5207\u6362\u6fc0\u6d3b\u6bb5\u5373\u91cd\u7f6e\u6d3b\u52a8\u533a&#xff1a;Tab \u7684\u5faa\u73af\u4ece\u300c\u672a\u6307\u5b9a\u300d\u91cd\u65b0\u5f00\u59cb&#xff0c;\u4e0e\u6362\u624b\u540e\u7684\u9f20\u6807\u64cd\u4f5c\u8d77\u70b9\u4e00\u81f4<\/span><br \/>\n<span class=\"token function\">watch<\/span><span class=\"token punctuation\">(<\/span>activeSide<span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5f53\u524d\u6e32\u67d3\u7684\u9762\u677f&#xff08;\u4e09\u79cd\u5f62\u6001\u4e09\u9009\u4e00&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">getRenderedPanel<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> PanelKeydownTarget <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>isRange<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> rangePanelRef<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> isDateTime<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">?<\/span> datetimePanelRef<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">:<\/span> datePanelRef<span class=\"token punctuation\">.<\/span>value<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8f93\u5165\u6846\u5185\u5bb9\u88ab\u6539\u52a8&#xff1a;\u952e\u76d8\u5f52\u5c5e\u6536\u56de\u6587\u672c\u8f93\u5165\u6001&#xff0c;\u65b9\u5411\u952e\u968f\u4e4b\u56de\u5230\u8f93\u5165\u5149\u6807 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onTriggerInput<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  keyboardPanelMode<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">false<\/span><br \/>\n  activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onTriggerFocus<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> FocusEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token function\">onTriggerInput<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token function\">emits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;focus&#039;<\/span><span class=\"token punctuation\">,<\/span> event<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u628a\u4e00\u6b21\u6309\u952e\u8f6c\u7ed9\u9762\u677f&#xff1a;\u672a\u6307\u5b9a\u6d3b\u52a8\u533a\u65f6\u9996\u4e2a\u5bfc\u822a\u952e\u53ea\u628a\u65e5\u671f\u533a\u8bbe\u4e3a\u6d3b\u52a8\u533a&#xff08;\u4e0d\u79fb\u52a8\u5149\u6807&#xff09;\u2014\u2014<br \/>\n * \u5148\u8ba9\u7528\u6237\u770b\u6e05\u952e\u76d8\u843d\u5728\u54ea\u4e00\u5217&#xff0c;\u4e0b\u4e00\u952e\u624d\u771f\u6b63\u79fb\u52a8<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">forwardKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> KeyboardEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>hasTimeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;date&#039;<\/span><br \/>\n    event<span class=\"token punctuation\">.<\/span><span class=\"token function\">preventDefault<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">true<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">getRenderedPanel<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">?.<\/span><span class=\"token function\">handleKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">??<\/span> <span class=\"token boolean\">false<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">SECTION_CYCLE<\/span><span class=\"token operator\">:<\/span> PickerActiveSection<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;date&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;time&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/** \u53d6\u5faa\u73af\u4e2d\u7684\u4e0b\u4e00\u4e2a\u533a&#xff08;\u8d8a\u754c\u5373\u56de\u5230\u300c\u672a\u6307\u5b9a\u300d&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">getNextSection<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token operator\">:<\/span> PickerActiveSection<span class=\"token punctuation\">,<\/span> backward<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> PickerActiveSection <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> index <span class=\"token operator\">&#061;<\/span> <span class=\"token constant\">SECTION_CYCLE<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">indexOf<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token constant\">SECTION_CYCLE<\/span><span class=\"token punctuation\">[<\/span>backward <span class=\"token operator\">?<\/span> index <span class=\"token operator\">&#8211;<\/span> <span class=\"token number\">1<\/span> <span class=\"token operator\">:<\/span> index <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * Tab&#xff1a;\u5207\u6362\u952e\u76d8\u5f52\u5c5e&#xff0c;\u5e76\u5728\u9762\u677f\u5185\u7684\u4e24\u4e2a\u533a\u4e4b\u95f4\u5faa\u73af&#xff1b;\u5faa\u73af\u5230\u5934&#xff08;\u56de\u5230\u300c\u65e0\u6d3b\u52a8\u533a\u300d&#xff09;\u65f6\u4e0d\u963b\u6b62<br \/>\n * \u9ed8\u8ba4\u884c\u4e3a&#xff0c;\u4ea4\u8fd8\u6d4f\u89c8\u5668\u628a\u7126\u70b9\u79fb\u51fa\u7ec4\u4ef6<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onTabKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> KeyboardEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>keyboardPanelMode<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    keyboardPanelMode<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">true<\/span><br \/>\n    event<span class=\"token punctuation\">.<\/span><span class=\"token function\">preventDefault<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>hasTimeSection<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> nextSection <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">getNextSection<\/span><span class=\"token punctuation\">(<\/span>activeSection<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">,<\/span> event<span class=\"token punctuation\">.<\/span>shiftKey<span class=\"token punctuation\">)<\/span><br \/>\n  activeSection<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> nextSection<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>nextSection <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    event<span class=\"token punctuation\">.<\/span><span class=\"token function\">preventDefault<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u89e6\u53d1\u5668\u7684\u6309\u952e\u5165\u53e3&#xff1a;\u9762\u677f\u672a\u5c55\u5f00\u65f6\u4efb\u610f\u8f93\u5165\u952e\u5524\u8d77\u9762\u677f&#xff0c;\u5c55\u5f00\u540e\u6309\u952e\u76d8\u5f52\u5c5e\u51b3\u5b9a\u662f\u5426\u64cd\u4f5c\u9762\u677f *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onWrapperKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> KeyboardEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">.<\/span>key <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;Tab&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>openModel<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token operator\">!<\/span>fullyDisabled<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token function\">onTabKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>openModel<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token constant\">PANEL_OPEN_IGNORED_KEYS<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">includes<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">.<\/span>key<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token function\">requestOpen<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">true<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>keyboardPanelMode<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">||<\/span> <span class=\"token operator\">!<\/span><span class=\"token constant\">PANEL_NAV_KEYS<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">includes<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">.<\/span>key<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token function\">forwardKeydown<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">focus<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  triggerRef<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token function\">focus<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">blur<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  triggerRef<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token function\">blur<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token function\">defineExpose<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span> focus<span class=\"token punctuation\">,<\/span> blur <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>script<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>div<br \/>\n    ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrapperRef&#034;<\/span><br \/>\n    <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datepicker-wrap&#034;<\/span><br \/>\n    <span class=\"token operator\">:<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrapperStyle&#034;<\/span><br \/>\n    <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keydown<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onWrapperKeydown&#034;<\/span><br \/>\n    <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keydown<\/span><\/span><span class=\"token punctuation\">.<\/span>esc<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEscKeydown&#034;<\/span><br \/>\n    <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keydown<\/span><\/span><span class=\"token punctuation\">.<\/span>enter<span class=\"token punctuation\">.<\/span>stop<br \/>\n    <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">input<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onTriggerInput&#034;<\/span><br \/>\n  <span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>PickerTrigger<br \/>\n      ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;triggerRef&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>text<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;displayText&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>texts<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;displayRangeTexts&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>range<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;isRange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;activeTriggerIndex&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>preview<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;hoverPreviewIndex&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>preview<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;singlePreviewTimestamp !&#061;&#061; null&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;singlePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholders<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedPlaceholders&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;size&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>status<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;status&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;bordered&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fullyDisabled&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>sides<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledSides&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>input<span class=\"token operator\">&#8211;<\/span>read<span class=\"token operator\">&#8211;<\/span>only<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;inputReadOnly || keyboardPanelMode&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>allow<span class=\"token operator\">&#8211;<\/span>clear<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;allowClear &amp;&amp; showClear&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>open<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;openModel&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>input<span class=\"token operator\">&#8211;<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;inputSize&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>suffix<span class=\"token operator\">&#8211;<\/span>icon<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;suffixIcon&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">click<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onTriggerClick&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">clear<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onClear&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">arrow<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangeArrowLeft &#061; $event&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">side<\/span><\/span><span class=\"token operator\">&#8211;<\/span>focus<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSideFocus&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">text<\/span><\/span><span class=\"token operator\">&#8211;<\/span>confirm<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onTextConfirm&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">focus<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onTriggerFocus&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">blur<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;emits(&#039;blur&#039;, $event)&#034;<\/span><br \/>\n    <span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>template #suffix<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>slot name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;suffixIcon&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>component <span class=\"token operator\">:<\/span><span class=\"token keyword\">is<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;suffixIcon&#034;<\/span> v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;suffixIcon&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>slot<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>template #separator<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>slot name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;separator&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>PickerIcon name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;swap-right&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>slot<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>PickerTrigger<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Popup<br \/>\n      ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;popupRef&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>show<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;openModel &amp;&amp; !fullyDisabled&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>to<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;to&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>anchor<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrapperRef&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placement&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>offset<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;popupOffset&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>panel<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedPanelClass&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>panel<span class=\"token operator\">&#8211;<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ &#8230;panelStyle, &#8230;themeVars }&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>z<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;zIndex&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>z<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;FLOATING_LAYER_Z_INDEX.select&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>transition<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelTransitionProps&#034;<\/span><br \/>\n      close<span class=\"token operator\">&#8211;<\/span>on<span class=\"token operator\">&#8211;<\/span>outside<span class=\"token operator\">&#8211;<\/span>click<br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keydown<\/span><\/span><span class=\"token punctuation\">.<\/span>esc<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEscKeydown&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">outside<\/span><\/span><span class=\"token operator\">&#8211;<\/span>click<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;requestOpen(false)&#034;<\/span><br \/>\n    <span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>RangePanel<br \/>\n        v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;isRange&#034;<\/span><br \/>\n        ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePanelRef&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelRangeValue&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>base<span class=\"token operator\">&#8211;<\/span>mode<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelBaseMode&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;openModel&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#8211;<\/span>section<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;activeSection&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#8211;<\/span>side<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;activeSide&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>start<span class=\"token operator\">&#8211;<\/span>day<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">of<\/span><span class=\"token operator\">&#8211;<\/span>week<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;startDayOfWeek&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedRangeDisabledDate&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>date<span class=\"token operator\">&#8211;<\/span>render<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedDateRender&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultPickerValue&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>extra<span class=\"token operator\">&#8211;<\/span>footer<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedExtraFooter&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>datetime<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;isDateTimeRange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedFormat&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>header<span class=\"token operator\">&#8211;<\/span>format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;format&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>time<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;timePickerProps&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangeDisabledTime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultTime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>preview<span class=\"token operator\">&#8211;<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presetPreview&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">select<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onRangeSelect&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">draft<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onRangeDraftChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">confirm<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onRangeConfirm&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">panel<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPanelChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">hover<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onRangeHover&#034;<\/span><br \/>\n      <span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #presets<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>PresetPanel v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets.length&#034;<\/span> <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">select<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetSelect&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">hover<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetHover&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>RangePanel<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> \u8303\u56f4\u5f62\u6001\u7684\u9762\u677f\u6307\u793a\u7bad\u5934&#xff1a;\u4e0e\u6fc0\u6d3b\u6bb5\u4e0b\u5212\u7ebf\u540c\u6e90\u5e73\u79fb\u3001\u968f\u5f39\u51fa\u65b9\u4f4d\u4e0a\u4e0b\u7ffb\u8f6c&#xff0c;\u5c55\u793a\u65f6\u673a\u7531 showArrow \u4e0e\u65b9\u4f4d\u5171\u540c\u51b3\u5b9a <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>div v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;showRangeArrow&#034;<\/span> <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datepicker-range-arrow&#034;<\/span> <span class=\"token operator\">:<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ left: &#096;${rangeArrowLeft}px&#096; }&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatetimePanel<br \/>\n        v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">else<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;isDateTime&#034;<\/span><br \/>\n        ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimePanelRef&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelTimestamp&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#8211;<\/span>section<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;activeSection&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedFormat&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>header<span class=\"token operator\">&#8211;<\/span>format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;format&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>time<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;timePickerProps&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDate&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;singleDisabledTime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>date<span class=\"token operator\">&#8211;<\/span>render<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedDateRender&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;singleDefaultTime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultPickerValue&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>extra<span class=\"token operator\">&#8211;<\/span>footer<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedExtraFooter&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>start<span class=\"token operator\">&#8211;<\/span>day<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">of<\/span><span class=\"token operator\">&#8211;<\/span>week<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;startDayOfWeek&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>show<span class=\"token operator\">&#8211;<\/span>now<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;showNow&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;openModel&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">change<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onDraftChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">confirm<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onConfirm&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">panel<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPanelChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">cell<\/span><\/span><span class=\"token operator\">&#8211;<\/span>hover<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSingleHover($event)&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">cell<\/span><\/span><span class=\"token operator\">&#8211;<\/span>leave<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSingleHover(null)&#034;<\/span><br \/>\n      <span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #presets<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>PresetPanel v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets.length&#034;<\/span> <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">select<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetSelect&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">hover<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetHover&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatetimePanel<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePanel<br \/>\n        v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">else<\/span><br \/>\n        ref<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datePanelRef&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelTimestamp&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>base<span class=\"token operator\">&#8211;<\/span>mode<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;panelBaseMode&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>active<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;openModel&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>start<span class=\"token operator\">&#8211;<\/span>day<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">of<\/span><span class=\"token operator\">&#8211;<\/span>week<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;startDayOfWeek&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDate&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>date<span class=\"token operator\">&#8211;<\/span>render<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedDateRender&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultPickerValue&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>extra<span class=\"token operator\">&#8211;<\/span>footer<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mergedExtraFooter&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>show<span class=\"token operator\">&#8211;<\/span>today<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;showToday&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">select<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSelect&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">panel<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPanelChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">cell<\/span><\/span><span class=\"token operator\">&#8211;<\/span>hover<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSingleHover($event)&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">cell<\/span><\/span><span class=\"token operator\">&#8211;<\/span>leave<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSingleHover(null)&#034;<\/span><br \/>\n      <span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #presets<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>PresetPanel v<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">if<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets.length&#034;<\/span> <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presets&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">select<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetSelect&#034;<\/span> <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">hover<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onPresetHover&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePanel<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Popup<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span>style lang<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;less&#034;<\/span> scoped<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>wrap <span class=\"token punctuation\">{<\/span><br \/>\n  display<span class=\"token operator\">:<\/span> inline<span class=\"token operator\">&#8211;<\/span>flex<span class=\"token punctuation\">;<\/span><br \/>\n  width<span class=\"token operator\">:<\/span> <span class=\"token keyword\">var<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8212;<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>width<span class=\"token punctuation\">,<\/span> auto<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token operator\">:<\/span><span class=\"token function\">deep<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">.<\/span>picker<span class=\"token operator\">&#8211;<\/span>trigger<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    flex<span class=\"token operator\">:<\/span> auto<span class=\"token punctuation\">;<\/span><br \/>\n    min<span class=\"token operator\">&#8211;<\/span>width<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>range<span class=\"token operator\">&#8211;<\/span>arrow <span class=\"token punctuation\">{<\/span><br \/>\n  position<span class=\"token operator\">:<\/span> absolute<span class=\"token punctuation\">;<\/span><br \/>\n  top<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  z<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  width<span class=\"token operator\">:<\/span> 16px<span class=\"token punctuation\">;<\/span><br \/>\n  height<span class=\"token operator\">:<\/span> 16px<span class=\"token punctuation\">;<\/span><br \/>\n  margin<span class=\"token operator\">&#8211;<\/span>left<span class=\"token operator\">:<\/span> <span class=\"token number\">16<\/span><span class=\"token punctuation\">.<\/span>5px<span class=\"token punctuation\">;<\/span><br \/>\n  overflow<span class=\"token operator\">:<\/span> hidden<span class=\"token punctuation\">;<\/span><br \/>\n  pointer<span class=\"token operator\">&#8211;<\/span>events<span class=\"token operator\">:<\/span> none<span class=\"token punctuation\">;<\/span><br \/>\n  transform<span class=\"token operator\">:<\/span> <span class=\"token function\">translateY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  transition<span class=\"token operator\">:<\/span> left <span class=\"token number\">0<\/span><span class=\"token punctuation\">.<\/span>3s ease<span class=\"token operator\">&#8211;<\/span>out<span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token operator\">&amp;<\/span><span class=\"token operator\">:<\/span><span class=\"token operator\">:<\/span>before <span class=\"token punctuation\">{<\/span><br \/>\n    position<span class=\"token operator\">:<\/span> absolute<span class=\"token punctuation\">;<\/span><br \/>\n    bottom<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    left<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    width<span class=\"token operator\">:<\/span> 16px<span class=\"token punctuation\">;<\/span><br \/>\n    height<span class=\"token operator\">:<\/span> 8px<span class=\"token punctuation\">;<\/span><br \/>\n    background<span class=\"token operator\">&#8211;<\/span>color<span class=\"token operator\">:<\/span> <span class=\"token keyword\">var<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8212;<\/span>picker<span class=\"token operator\">&#8211;<\/span>panel<span class=\"token operator\">&#8211;<\/span>bg<span class=\"token operator\">&#8211;<\/span>color<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">var<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8212;<\/span>va<span class=\"token operator\">&#8211;<\/span>bg<span class=\"token operator\">&#8211;<\/span>elevated<span class=\"token operator\">&#8211;<\/span>color<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    clip<span class=\"token operator\">&#8211;<\/span>path<span class=\"token operator\">:<\/span> <span class=\"token function\">polygon<\/span><span class=\"token punctuation\">(<\/span><br \/>\n      <span class=\"token number\">1<\/span><span class=\"token punctuation\">.<\/span>6568542494923806px <span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span><span class=\"token punctuation\">,<\/span><br \/>\n      <span class=\"token number\">50<\/span><span class=\"token operator\">%<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">.<\/span>6568542494923806px<span class=\"token punctuation\">,<\/span><br \/>\n      <span class=\"token number\">14<\/span><span class=\"token punctuation\">.<\/span>34314575050762px <span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span><span class=\"token punctuation\">,<\/span><br \/>\n      <span class=\"token number\">1<\/span><span class=\"token punctuation\">.<\/span>6568542494923806px <span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span><br \/>\n    <span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    clip<span class=\"token operator\">&#8211;<\/span>path<span class=\"token operator\">:<\/span> <span class=\"token function\">path<\/span><span class=\"token punctuation\">(<\/span><br \/>\n      <span class=\"token string\">&#039;M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z&#039;<\/span><br \/>\n    <span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    content<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token operator\">&amp;<\/span><span class=\"token operator\">:<\/span><span class=\"token operator\">:<\/span>after <span class=\"token punctuation\">{<\/span><br \/>\n    position<span class=\"token operator\">:<\/span> absolute<span class=\"token punctuation\">;<\/span><br \/>\n    right<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    bottom<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    left<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    width<span class=\"token operator\">:<\/span> <span class=\"token number\">8<\/span><span class=\"token punctuation\">.<\/span>970562748477143px<span class=\"token punctuation\">;<\/span><br \/>\n    height<span class=\"token operator\">:<\/span> <span class=\"token number\">8<\/span><span class=\"token punctuation\">.<\/span>970562748477143px<span class=\"token punctuation\">;<\/span><br \/>\n    margin<span class=\"token operator\">:<\/span> auto<span class=\"token punctuation\">;<\/span><br \/>\n    z<span class=\"token operator\">&#8211;<\/span>index<span class=\"token operator\">:<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    background<span class=\"token operator\">:<\/span> transparent<span class=\"token punctuation\">;<\/span><br \/>\n    border<span class=\"token operator\">&#8211;<\/span>radius<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span> <span class=\"token number\">0<\/span> 2px <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    box<span class=\"token operator\">&#8211;<\/span>shadow<span class=\"token operator\">:<\/span> 3px 3px 7px <span class=\"token function\">rgba<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    transform<span class=\"token operator\">:<\/span> <span class=\"token function\">translateY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">50<\/span><span class=\"token operator\">%<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token function\">rotate<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span>135deg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    content<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>style<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span>style lang<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;less&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token comment\">\/* \u4ee5\u4e0b\u4e24\u7c7b\u89c4\u5219\u5fc5\u987b\u7559\u5728\u5168\u5c40&#xff1a;\u5b83\u4eec\u4f5c\u7528\u4e8e &lt;Popup&gt; \u5bbf\u4e3b\u7f16\u8bd1\u51fa\u7684\u9762\u677f\u8282\u70b9&#xff08;scope id \u5c5e\u5bbf\u4e3b&#xff09;&#xff0c;<br \/>\n   \u4e14 Teleport \u5230 body \u540e\u4e0d\u5728\u672c\u7ec4\u4ef6 DOM \u5b50\u6811\u5185&#xff0c;scoped \u4e0e :deep() \u5747\u9009\u4e0d\u4e2d\u3002<br \/>\n   \u6536\u53e3\u53e3\u5f84&#xff1a;\u2460 \u9762\u677f\u51e0\u4f55\u4ee5 .datepicker-panel-container \u6536\u53e3&#xff1b;\u2461 \u52a8\u753b\u7c7b\u4e0e\u5173\u952e\u5e27\u7edf\u4e00\u52a0 &#096;datepicker-&#096; \u524d\u7f00&#xff0c;\u907f\u514d\u4e0e\u5bbf\u4e3b\u9875\u9762\u649e\u540d *\/<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>panel<span class=\"token operator\">&#8211;<\/span>container <span class=\"token punctuation\">{<\/span><br \/>\n  width<span class=\"token operator\">:<\/span> max<span class=\"token operator\">&#8211;<\/span>content<span class=\"token punctuation\">;<\/span><br \/>\n  outline<span class=\"token operator\">:<\/span> none<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>va<span class=\"token operator\">&#8211;<\/span>popup<span class=\"token operator\">&#8211;<\/span>placement<span class=\"token operator\">&#8211;<\/span>top <span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>range<span class=\"token operator\">&#8211;<\/span>arrow<span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>va<span class=\"token operator\">&#8211;<\/span>popup<span class=\"token operator\">&#8211;<\/span>placement<span class=\"token operator\">&#8211;<\/span>topLeft <span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>range<span class=\"token operator\">&#8211;<\/span>arrow<span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>va<span class=\"token operator\">&#8211;<\/span>popup<span class=\"token operator\">&#8211;<\/span>placement<span class=\"token operator\">&#8211;<\/span>topRight <span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>range<span class=\"token operator\">&#8211;<\/span>arrow <span class=\"token punctuation\">{<\/span><br \/>\n  top<span class=\"token operator\">:<\/span> auto<span class=\"token punctuation\">;<\/span><br \/>\n  bottom<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  transform<span class=\"token operator\">:<\/span> <span class=\"token function\">translateY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token function\">rotate<\/span><span class=\"token punctuation\">(<\/span>180deg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>panel<span class=\"token operator\">&#8211;<\/span>container<span class=\"token punctuation\">.<\/span>va<span class=\"token operator\">&#8211;<\/span>popup<span class=\"token operator\">&#8211;<\/span>leaving <span class=\"token punctuation\">.<\/span>picker<span class=\"token operator\">&#8211;<\/span>panel<span class=\"token operator\">&#8211;<\/span>body <span class=\"token punctuation\">.<\/span>picker<span class=\"token operator\">&#8211;<\/span>panel<span class=\"token operator\">&#8211;<\/span>cell<span class=\"token operator\">&#8211;<\/span>inner <span class=\"token punctuation\">{<\/span><br \/>\n  transition<span class=\"token operator\">:<\/span> none<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>enter<span class=\"token operator\">&#8211;<\/span>active<span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>leave<span class=\"token operator\">&#8211;<\/span>active <span class=\"token punctuation\">{<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>duration<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">.<\/span>2s<span class=\"token punctuation\">;<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>fill<span class=\"token operator\">&#8211;<\/span>mode<span class=\"token operator\">:<\/span> both<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>enter<span class=\"token operator\">&#8211;<\/span>active <span class=\"token punctuation\">{<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>name<span class=\"token operator\">:<\/span> datepickerZoomIn<span class=\"token punctuation\">;<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>timing<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">function<\/span><span class=\"token operator\">:<\/span> cubic<span class=\"token operator\">&#8211;<\/span><span class=\"token function\">bezier<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0.23<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.32<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>leave<span class=\"token operator\">&#8211;<\/span>active <span class=\"token punctuation\">{<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>name<span class=\"token operator\">:<\/span> datepickerZoomOut<span class=\"token punctuation\">;<\/span><br \/>\n  animation<span class=\"token operator\">&#8211;<\/span>timing<span class=\"token operator\">&#8211;<\/span><span class=\"token keyword\">function<\/span><span class=\"token operator\">:<\/span> cubic<span class=\"token operator\">&#8211;<\/span><span class=\"token function\">bezier<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0.755<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.05<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.855<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.06<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>enter<span class=\"token operator\">&#8211;<\/span>from<span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">.<\/span>datepicker<span class=\"token operator\">&#8211;<\/span>zoom<span class=\"token operator\">&#8211;<\/span>leave<span class=\"token operator\">&#8211;<\/span>to <span class=\"token punctuation\">{<\/span><br \/>\n  opacity<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keyframes<\/span><\/span> datepickerZoomIn <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token number\">0<\/span><span class=\"token operator\">%<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    opacity<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    transform<span class=\"token operator\">:<\/span> <span class=\"token function\">scaleY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0.8<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    opacity<span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    transform<span class=\"token operator\">:<\/span> <span class=\"token function\">scaleY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">keyframes<\/span><\/span> datepickerZoomOut <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token number\">0<\/span><span class=\"token operator\">%<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    opacity<span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    transform<span class=\"token operator\">:<\/span> <span class=\"token function\">scaleY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token number\">100<\/span><span class=\"token operator\">%<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    opacity<span class=\"token operator\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    transform<span class=\"token operator\">:<\/span> <span class=\"token function\">scaleY<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0.8<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>style<span class=\"token operator\">&gt;<\/span><\/p>\n<h3>\u5728\u8981\u4f7f\u7528\u7684\u9875\u9762\u5f15\u5165<\/h3>\n<p><span class=\"token operator\">&lt;<\/span>script setup lang<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ts&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> DatePicker <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;.\/DatePicker.vue&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">{<\/span> computed<span class=\"token punctuation\">,<\/span> ref <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;vue&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">type<\/span> <span class=\"token punctuation\">{<\/span> CSSProperties <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;vue&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  addDays<span class=\"token punctuation\">,<\/span><br \/>\n  addMonths<span class=\"token punctuation\">,<\/span><br \/>\n  differenceInCalendarDays<span class=\"token punctuation\">,<\/span><br \/>\n  endOfDay<span class=\"token punctuation\">,<\/span><br \/>\n  getDate<span class=\"token punctuation\">,<\/span><br \/>\n  getDay<span class=\"token punctuation\">,<\/span><br \/>\n  getHours<span class=\"token punctuation\">,<\/span><br \/>\n  getMinutes<span class=\"token punctuation\">,<\/span><br \/>\n  getSeconds<span class=\"token punctuation\">,<\/span><br \/>\n  isSameDay<span class=\"token punctuation\">,<\/span><br \/>\n  startOfDay<span class=\"token punctuation\">,<\/span><br \/>\n  startOfMonth<br \/>\n<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;date-fns&#039;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">type<\/span> <span class=\"token punctuation\">{<\/span> DatePickerProps <span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">from<\/span> <span class=\"token string\">&#039;vue-amazing-ui&#039;<\/span><br \/>\n<span class=\"token comment\">\/** \u6f14\u793a\u7528\u4f8b\u7684\u56fa\u5b9a\u503c&#xff1a;\u53d6\u56fa\u5b9a\u65e5\u671f&#xff08;\u4e0d\u968f\u5f53\u5929\u53d8\u5316&#xff09;&#xff0c;\u4fbf\u4e8e\u622a\u56fe\u4e0e\u6587\u6863\u5c55\u793a *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> fixedDate <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">2026<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">9<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u7528\u4f8b\u7684\u521d\u59cb\u503c&#xff1a;\u4e24\u7aef\u90fd\u5f52\u4e00\u5230\u5f53\u65e5\u96f6\u70b9&#xff0c;\u4e0e\u9762\u677f\u6309\u5929\u9009\u62e9\u7684\u7c92\u5ea6\u4e00\u81f4 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">initialRange<\/span><span class=\"token punctuation\">(<\/span>startOffset<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> endOffset<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">7<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> start <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> startOffset<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> end <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> endOffset<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span>start<span class=\"token punctuation\">,<\/span> end<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5404\u7528\u4f8b\u72ec\u7acb\u6301\u6709\u4e00\u7ec4\u503c&#xff0c;\u907f\u514d\u5728\u4e00\u4e2a\u7528\u4f8b\u91cc\u9009\u65e5\u671f\u5f71\u54cd\u5230\u5176\u5b83\u7528\u4f8b<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9664\u300c\u65e5\u671f\u683c\u5f0f\u300d\u300c\u7981\u7528\u300d\u7b49\u5c11\u6570\u9700\u8981\u5c55\u793a\u5df2\u9009\u503c\u7684\u7528\u4f8b\u5916&#xff0c;\u5176\u4f59\u7528\u4f8b\u5747\u4e0d\u8bbe\u521d\u59cb\u503c<\/span><br \/>\n<span class=\"token keyword\">const<\/span> basicValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> slashValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> chineseValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeFormatValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">[<\/span>fixedDate<span class=\"token punctuation\">,<\/span> <span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">,<\/span> <span class=\"token number\">5<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> beforeTodayValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> afterTodayValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> weekendValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeCaseValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> suffixValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> errorValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> warningValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> errorRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> warningRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementBottomLeftValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementBottomRightValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementTopLeftValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementTopRightValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementRangeBottomLeftValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> placementRangeTopLeftValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u952e\u76d8\u64cd\u4f5c\u7528\u4f8b&#xff1a;\u65e5\u671f \/ \u8303\u56f4 \/ \u65e5\u671f\u65f6\u95f4\u5404\u4e00&#xff1b;\u65e0\u521d\u59cb\u503c\u65f6\u5149\u6807\u4ee5\u9762\u677f\u89c6\u56fe\u65e5\u671f&#xff08;\u5f53\u5929&#xff09;\u4e3a\u8d77\u70b9&#xff0c;\u65b9\u5411\u952e\u540c\u6837\u53ef\u64cd\u4f5c<\/span><br \/>\n<span class=\"token keyword\">const<\/span> keyboardValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> keyboardRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> keyboardDateTimeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5468\u5f62\u6001\u7528\u4f8b&#xff1a;\u9762\u677f\u6309 ISO \u5468\u6210\u884c\u9ad8\u4eae&#xff0c;\u5c55\u793a\u683c\u5f0f\u4e3a ISO \u5468\u5e74 &#043; \u5468\u5e8f\u53f7&#xff0c;\u5e26\u300c\u5468\u300d\u5b57\u540e\u7f00<\/span><br \/>\n<span class=\"token keyword\">const<\/span> weekValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6708 \/ \u5b63 \/ \u5e74\u5f62\u6001\u7528\u4f8b&#xff1a;\u521d\u59cb\u503c\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> monthValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> quarterValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> yearValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> monthFormatValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5468\u683c\u5f0f\u7528\u4f8b&#xff1a;\u5468\u5e74\u5360\u4f4d\u7b26\u53ea\u80fd\u53d6 ISO \u53e3\u5f84&#xff08;RRRR&#xff09;\u2014\u2014\u4e0e\u5468\u5e8f\u53f7&#xff08;II&#xff09;\u914d\u5bf9\u624d\u53ef\u89e3\u6790&#xff0c;\u8be6\u89c1\u4e0b\u65b9 format \u7528\u4f8b\u8bf4\u660e&#xff1b;\u8be5\u7528\u4f8b\u4e0e\u5b98\u65b9\u4e00\u81f4\u53d6\u5f53\u5929\u503c<\/span><br \/>\n<span class=\"token keyword\">const<\/span> weekFormatValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span>Date<span class=\"token punctuation\">.<\/span><span class=\"token function\">now<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledMonthValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span>fixedDate<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledFullRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">[<\/span>fixedDate<span class=\"token punctuation\">,<\/span> fixedDate<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledMonthBeforeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeMonthValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeWeekValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6708 \/ \u5b63 \/ \u5e74\u8303\u56f4\u7528\u4f8b&#xff1a;\u521d\u59cb\u503c\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> monthRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> quarterRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> yearRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5468\u8303\u56f4\u7528\u4f8b&#xff1a;\u521d\u59cb\u503c\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> weekRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> presetMonthRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u65e0\u8fb9\u6846\u7528\u4f8b\u7684\u6708 \/ \u5b63 \/ \u5e74\u5f62\u6001&#xff1a;\u5404\u6301\u4e00\u7ec4\u503c&#xff0c;\u4e0d\u4e0e\u5176\u5b83\u7528\u4f8b\u8054\u52a8&#xff1b;\u521d\u59cb\u503c\u5747\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessMonthValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessQuarterValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessYearValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessMonthRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessYearRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessWeekValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessWeekRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessDateRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> borderlessQuarterRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6708\u8303\u56f4\u7528\u4f8b\u7684\u9884\u8bbe&#xff1a;\u503c\u540c\u6837\u652f\u6301\u65f6\u95f4\u6233\u4e0e\u51fd\u6570&#xff08;\u6b64\u5904\u4e3a\u300c\u8fd1 N \u4e2a\u6708\u300d\u4e24\u4e2a\u533a\u95f4&#xff09;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> monthRangePresets<span class=\"token operator\">:<\/span> NonNullable<span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;presets&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span><br \/>\n    label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1 3 \u4e2a\u6708&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addMonths<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span><br \/>\n    label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1\u534a\u5e74&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addMonths<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">5<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">startOfMonth<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u8303\u56f4\u7528\u4f8b&#xff1a;\u4e3b\u7528\u4f8b\u7684\u65e5\u671f\u8303\u56f4\u5f62\u6001&#xff0c;\u521d\u59cb\u503c\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangePlaceholder<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;\u5f00\u59cb\u65e5\u671f&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\u7ed3\u675f\u65e5\u671f&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5176\u4f59\u8303\u56f4\u5f62\u6001\u7684\u63d0\u793a\u6587\u5b57\u6309\u5f62\u6001\u533a\u5206&#xff08;\u5468 \/ \u6708 \/ \u5b63 \/ \u5e74\u5404\u6709\u72ec\u7acb\u6587\u6848&#xff09;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> weekRangePlaceholder<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;\u5f00\u59cb\u5468&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\u7ed3\u675f\u5468&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">const<\/span> monthRangePlaceholder<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;\u5f00\u59cb\u6708\u4efd&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\u7ed3\u675f\u6708\u4efd&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">const<\/span> quarterRangePlaceholder<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;\u5f00\u59cb\u5b63\u5ea6&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\u7ed3\u675f\u5b63\u5ea6&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">const<\/span> yearRangePlaceholder<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;\u5f00\u59cb\u5e74\u4efd&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;\u7ed3\u675f\u5e74\u4efd&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5207\u6362\u4e0d\u540c\u7684\u9009\u62e9\u5668\u7528\u4f8b&#xff1a;\u5206\u6bb5\u63a7\u4ef6\u5207\u6362\u5f62\u6001&#xff0c;\u5404\u5f62\u6001\u5171\u7528\u540c\u4e00\u4e2a\u7ed1\u5b9a\u503c<\/span><br \/>\n<span class=\"token keyword\">type<\/span> <span class=\"token class-name\">SwitchableType<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;date&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;week&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;month&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;quarter&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;year&#039;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> switchableType <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>SwitchableType<span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;date&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> switchableValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> switchableOptions<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">;<\/span> value<span class=\"token operator\">:<\/span> SwitchableType <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u65e5\u671f&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;date&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u5468&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;week&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u6708\u4efd&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;month&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u5b63\u5ea6&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;quarter&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u5e74\u4efd&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;year&#039;<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/** \u5207\u6362\u9009\u62e9\u5668\u7684\u63d0\u793a\u6587\u5b57&#xff1a;\u968f\u5f62\u6001\u5207\u6362&#xff0c;\u4e0e\u5404\u5f62\u6001\u57fa\u672c\u7528\u4f8b\u7684\u63d0\u793a\u4fdd\u6301\u4e00\u81f4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> switchablePlaceholder <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">computed<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> placeholderMap<span class=\"token operator\">:<\/span> Record<span class=\"token operator\">&lt;<\/span>SwitchableType<span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    date<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8bf7\u9009\u62e9\u65e5\u671f&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    week<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8bf7\u9009\u62e9\u5468&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    month<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8bf7\u9009\u62e9\u6708\u4efd&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    quarter<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8bf7\u9009\u62e9\u5b63\u5ea6&#039;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    year<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8bf7\u9009\u62e9\u5e74\u4efd&#039;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> placeholderMap<span class=\"token punctuation\">[<\/span>switchableType<span class=\"token punctuation\">.<\/span>value<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u7528\u4f8b&#xff1a;\u5355\u4e2a\u65e5\u671f\u65f6\u95f4\u9762\u677f &#043; \u4e24\u6bb5\u5207\u6362&#xff0c;\u521d\u59cb\u503c\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> dateTimeRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u6309\u6bb5\u9ed8\u8ba4\u65f6\u523b\u7528\u4f8b&#xff1a;\u8303\u56f4\u5f62\u6001\u6309\u6bb5\u6307\u5b9a&#xff08;\u8d77\u70b9\u5f53\u65e5 0 \u70b9\u3001\u7ec8\u70b9\u5f53\u65e5 23:59:59&#xff09;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> defaultTimeRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8d77\u70b9\u53d6\u5f53\u65e5 0 \u70b9\u3001\u7ec8\u70b9\u53d6\u5f53\u65e5 23:59:59&#xff08;\u53ea\u53d6\u5176\u4e2d\u7684\u65f6\u5206\u79d2&#xff0c;\u65e5\u671f\u90e8\u5206\u4e0d\u53c2\u4e0e\u843d\u503c&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangeDefaultTime<span class=\"token operator\">:<\/span> NonNullable<span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;defaultTime&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u7981\u7528\u65e5\u671f\u7528\u4f8b\u7684\u8303\u56f4\u53d8\u4f53&#xff1a;\u521d\u59cb\u4e3a\u7a7a\u503c<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9010\u6bb5\u7981\u7528\u7528\u4f8b&#xff1a;\u8d77\u70b9\u6bb5\u7981\u7528\u4e14\u6301\u6709\u503c&#xff08;\u8d77\u70b9\u4e0d\u53ef\u8f93\u5165\u4f46\u503c\u4ecd\u5c55\u793a&#xff09;\u3001\u7ec8\u70b9\u6bb5\u53ef\u7f16\u8f91&#xff1b;\u88ab\u7981\u7528\u6bb5\u6709\u503c\u624d\u80fd\u5c55\u793a\u5176\u65e5\u671f\u7ea6\u675f<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledSideRangeInit <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">initialRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token operator\">&#8211;<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledSideRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span>disabledSideRangeInit<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u65e5\u671f\u65f6\u95f4\u7528\u4f8b&#xff1a;\u4e3b\u7528\u4f8b &#043; \u65f6\u95f4\u9762\u677f\u9009\u9879 \/ 12 \u5c0f\u65f6\u5236 \/ \u9690\u85cf\u300c\u6b64\u523b\u300d\u4e09\u4e2a\u7ec6\u9879&#xff0c;\u521d\u59cb\u503c\u5747\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> datetimeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> minuteStepValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> twelveHourValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> showNowValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u4e8b\u4ef6\u7528\u4f8b&#xff1a;\u5355\u9009 \/ \u8303\u56f4 \/ \u65e5\u671f\u65f6\u95f4\u5404\u4e00&#xff0c;\u7ed1\u5b9a\u540e\u53ef\u5728\u63a7\u5236\u53f0\u67e5\u770b\u5404\u4e8b\u4ef6\u7684\u89e6\u53d1\u65f6\u673a\u4e0e\u53c2\u6570&#xff1b;\u521d\u59cb\u503c\u5747\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> eventValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> eventRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> eventDateTimeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u503c\u53d8\u5316\u65f6\u7684\u56de\u8c03&#xff1a;\u503c\u4e0e\u683c\u5f0f\u5316\u503c\u53cc\u8f68 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventChange<\/span><span class=\"token punctuation\">(<\/span><br \/>\n  value<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  formattedValue<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;change&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token punctuation\">,<\/span> formattedValue<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8303\u56f4\u5f62\u6001\u5f85\u9009\u533a\u95f4\u53d8\u5316\u65f6\u7684\u56de\u8c03&#xff1a;&#096;info.range&#096; \u6807\u8bc6\u672c\u6b21\u6539\u52a8\u843d\u5728\u54ea\u4e00\u6bb5 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventCalendarChange<\/span><span class=\"token punctuation\">(<\/span><br \/>\n  value<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  formattedValue<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  info<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span> range<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;end&#039;<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;calendarChange&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token punctuation\">,<\/span> formattedValue<span class=\"token punctuation\">,<\/span> info<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u5e26\u65f6\u95f4\u7684\u5f62\u6001\u70b9\u51fb\u300c\u786e\u5b9a\u300d\u65f6\u7684\u56de\u8c03&#xff08;\u300c\u6b64\u523b\u300d\u662f\u5feb\u6377\u5165\u53e3&#xff0c;\u4e0d\u6d3e\u53d1&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventOk<\/span><span class=\"token punctuation\">(<\/span><br \/>\n  value<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  formattedValue<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span> <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">string<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;ok&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token punctuation\">,<\/span> formattedValue<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u5c55\u5f00\u6536\u8d77\u65f6\u7684\u56de\u8c03 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventOpenChange<\/span><span class=\"token punctuation\">(<\/span>open<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;openChange&#039;<\/span><span class=\"token punctuation\">,<\/span> open<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u9762\u677f\u89c6\u56fe\u5207\u6362\u65f6\u7684\u56de\u8c03&#xff1a;&#096;mode&#096; \u4e3a\u5207\u6362\u540e\u7684\u89c6\u56fe\u5c42\u7ea7 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventPanelChange<\/span><span class=\"token punctuation\">(<\/span>value<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> mode<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;panelChange&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token punctuation\">,<\/span> mode<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8f93\u5165\u6846\u83b7\u53d6\u7126\u70b9\u65f6\u7684\u56de\u8c03 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventFocus<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> FocusEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;focus&#039;<\/span><span class=\"token punctuation\">,<\/span> event<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8f93\u5165\u6846\u5931\u53bb\u7126\u70b9\u65f6\u7684\u56de\u8c03 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onEventBlur<\/span><span class=\"token punctuation\">(<\/span>event<span class=\"token operator\">:<\/span> FocusEvent<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token builtin\">console<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;blur&#039;<\/span><span class=\"token punctuation\">,<\/span> event<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/\/ \u4e0d\u53ef\u9009\u62e9\u65e5\u671f\u548c\u65f6\u95f4\u7528\u4f8b&#xff1a;\u521d\u59cb\u4e3a\u7a7a\u503c&#xff0c;\u5c55\u5f00\u540e\u518d\u9009\u62e9<\/span><br \/>\n<span class=\"token keyword\">const<\/span> disabledDateTimeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9690\u85cf\u7981\u7528\u9879\u7528\u4f8b&#xff1a;\u4e0e\u300c\u4e0d\u53ef\u9009\u62e9\u65e5\u671f\u548c\u65f6\u95f4\u300d\u540c\u6e90&#xff0c;\u6539\u7528 timePickerProps \u628a\u7981\u7528\u7684\u65f6\u5206\u79d2\u4ece\u9762\u677f\u4e2d\u9690\u85cf<\/span><br \/>\n<span class=\"token keyword\">const<\/span> hideDisabledOptionsValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u4e4b\u540e\u7684\u65e5\u671f&#xff08;&#096;disabledDate&#096; \u5165\u53c2\u4e3a\u300c\u5f53\u65e5\u96f6\u70b9\u300d\u7684\u6beb\u79d2\u65f6\u95f4\u6233&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledDateBefore<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u53ea\u80fd\u9009\u62e9\u672a\u6765\u4e03\u5929\u5185\u7684\u65e5\u671f *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledDateAfter<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> current <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> current <span class=\"token operator\">&lt;&#061;<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">||<\/span> current <span class=\"token operator\">&gt;<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">7<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u4e0d\u53ef\u9009\u62e9\u5468\u516d\u4e0e\u5468\u65e5 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledWeekendDate<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> day <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">getDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> day <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token operator\">||<\/span> day <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">6<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u4e4b\u524d\u7684\u6708\u4efd&#xff08;\u7c92\u5ea6\u4e3a\u6574\u6708&#xff1a;\u6574\u6708\u90fd\u65e9\u4e8e\u4eca\u5929\u624d\u7b97\u7981\u7528&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledMonthBefore<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&lt;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u534a\u5f00\u533a\u95f4 [start, end) \u7684\u6574\u6570\u5e8f\u5217 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span>start<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> end<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">Array<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">from<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span> length<span class=\"token operator\">:<\/span> end <span class=\"token operator\">&#8211;<\/span> start <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span>_<span class=\"token punctuation\">,<\/span> index<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> index <span class=\"token operator\">&#043;<\/span> start<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u53ca\u4e4b\u524d *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledDateTodayOrBefore<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&lt;&#061;<\/span> <span class=\"token function\">endOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u7981\u7528\u7684\u65f6\u95f4\u533a\u95f4&#xff1a;4-23 \u65f6 \/ 30-59 \u5206 \/ 55-56 \u79d2 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledDateTimeUnits<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function-variable function\">disabledHours<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">4<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">24<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">disabledMinutes<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">30<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">disabledSeconds<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token number\">55<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">56<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9009\u62e9\u4e0d\u8d85\u8fc7\u4e03\u5929\u7684\u8303\u56f4\u7528\u4f8b&#xff1a;\u521d\u59cb\u4e3a\u7a7a\u503c&#xff0c;\u53ef\u9009\u8303\u56f4\u7531\u8349\u7a3f\u533a\u95f4\u52a8\u6001\u9650\u5236<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sevenDaysValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8349\u7a3f\u533a\u95f4&#xff1a;&#096;calendarChange&#096; \u76f4\u63a5\u7ed9\u51fa\u7684\u65f6\u95f4\u6233\u533a\u95f4 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sevenDaysDraft <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u8349\u7a3f\u671f\u95f4\u628a\u53ef\u9009\u65e5\u671f\u9650\u5236\u5728\u8349\u7a3f\u4e24\u7aef \u00b17 \u5929\u5185<br \/>\n *<br \/>\n * \u8349\u7a3f\u7531 &#096;calendarChange&#096; \u8bb0\u5f55\u3001&#096;disabledDate&#096; \u8bfb\u8349\u7a3f\u52a8\u6001\u6536\u7a84\u53ef\u9009\u8303\u56f4&#xff0c;\u8349\u7a3f\u53d8\u5316\u5373\u91cd\u7b97\u7981\u7528\u6001\u3002<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledSevenDaysDate<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> draft <span class=\"token operator\">&#061;<\/span> sevenDaysDraft<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>draft <span class=\"token operator\">||<\/span> <span class=\"token punctuation\">(<\/span>draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span> draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">false<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> tooLate <span class=\"token operator\">&#061;<\/span> draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token boolean\">false<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">differenceInCalendarDays<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">7<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> tooEarly <span class=\"token operator\">&#061;<\/span> draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token boolean\">false<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">differenceInCalendarDays<\/span><span class=\"token punctuation\">(<\/span>draft<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">7<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> tooLate <span class=\"token operator\">||<\/span> tooEarly<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onSevenDaysCalendarChange<\/span><span class=\"token punctuation\">(<\/span>value<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  sevenDaysDraft<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> value<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u5c55\u5f00\u65f6\u4e22\u5f03\u4e0a\u4e00\u8f6e\u8349\u7a3f&#xff1a;\u5426\u5219\u4e0a\u6b21\u7684\u533a\u95f4\u4f1a\u7ee7\u7eed\u9650\u5236\u672c\u6b21\u53ef\u9009\u8303\u56f4 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onSevenDaysOpenChange<\/span><span class=\"token punctuation\">(<\/span>open<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>open<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    sevenDaysDraft<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/\/ \u9884\u8bbe\u8303\u56f4\u7528\u4f8b&#xff1a;\u5355\u9009 \/ \u65e5\u671f\u8303\u56f4 \/ \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u4e09\u79cd\u5f62\u6001\u5404\u6301\u4e00\u7ec4\u503c<\/span><br \/>\n<span class=\"token keyword\">const<\/span> presetValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> presetRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> presetDateTimeRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u8fd1 N \u5929\u533a\u95f4&#xff1a;\u8d77\u70b9\u53d6 N \u5929\u524d\u7684\u96f6\u70b9\u3001\u7ec8\u70b9\u53d6\u5f53\u524d\u65f6\u523b *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">recentDaysRange<\/span><span class=\"token punctuation\">(<\/span>days<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span>days<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> Date<span class=\"token punctuation\">.<\/span><span class=\"token function\">now<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u9884\u8bbe\u503c\u53ef\u4e3a\u65f6\u95f4\u6233&#xff0c;\u4e5f\u53ef\u4e3a\u8fd4\u56de\u65f6\u95f4\u6233\u7684\u51fd\u6570&#xff08;\u51fd\u6570\u503c\u5728\u70b9\u51fb\u65f6\u624d\u6c42\u503c&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> datePresets<span class=\"token operator\">:<\/span> NonNullable<span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;presets&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u6628\u5929&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u4e00\u5468\u524d&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addDays<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">7<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u4e00\u4e2a\u6708\u524d&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">addMonths<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">const<\/span> rangePresets<span class=\"token operator\">:<\/span> NonNullable<span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;presets&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1 7 \u5929&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">recentDaysRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">7<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1 14 \u5929&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">recentDaysRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">14<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1 30 \u5929&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">recentDaysRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">30<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;\u8fd1 90 \u5929&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function-variable function\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">recentDaysRange<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">90<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/\/ \u5b9a\u5236\u65e5\u671f\u5355\u5143\u683c\u7528\u4f8b&#xff1a;\u5355\u65e5\u671f\u4e0e\u65e5\u671f\u8303\u56f4\u5404\u6301\u4e00\u7ec4\u503c&#xff0c;\u521d\u59cb\u503c\u5747\u4e3a\u7a7a<\/span><br \/>\n<span class=\"token keyword\">const<\/span> dateRenderValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> dateRenderRangeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">[<\/span><span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u5b9a\u5236\u65e5\u671f\u5355\u5143\u683c&#xff1a;\u6bcf\u6708 1 \u53f7\u63cf\u4e00\u5708\u8fb9\u6846&#xff08;\u5355\u5143\u683c\u5185\u5c42\u5757\u9ad8 24px&#xff0c;\u81ea\u5b9a\u4e49\u8282\u70b9\u987b\u6309 border-box \u7b49\u9ad8&#xff0c;\u5426\u5219\u5916\u6846\u4f1a\u628a\u5706\u5708\u6491\u9ad8 2px&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">firstDayCellStyle<\/span><span class=\"token punctuation\">(<\/span>dayOfMonth<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> CSSProperties <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> cellStyle<span class=\"token operator\">:<\/span> CSSProperties <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span> boxSizing<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;border-box&#039;<\/span><span class=\"token punctuation\">,<\/span> height<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;24px&#039;<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> dayOfMonth <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token number\">1<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">{<\/span> <span class=\"token operator\">&#8230;<\/span>cellStyle<span class=\"token punctuation\">,<\/span> border<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;1px solid #1677ff&#039;<\/span><span class=\"token punctuation\">,<\/span> borderRadius<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;50%&#039;<\/span> <span class=\"token punctuation\">}<\/span> <span class=\"token operator\">:<\/span> cellStyle<br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/\/ \u81ea\u5b9a\u4e49\u65e5\u671f\u8303\u56f4\u9009\u62e9\u7528\u4f8b&#xff1a;\u4e24\u4e2a\u72ec\u7acb\u9009\u62e9\u5668\u7ecf disabledDate \/ disabledTime \u4e0e\u5c55\u5f00\u72b6\u6001\u4e92\u76f8\u7ea6\u675f<\/span><br \/>\n<span class=\"token keyword\">const<\/span> startValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> endValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span><span class=\"token builtin\">number<\/span> <span class=\"token operator\">|<\/span> <span class=\"token keyword\">null<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> endOpen <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">ref<\/span><span class=\"token punctuation\">(<\/span><span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\">\/** \u9009\u4e2d\u65e5\u671f\u65f6\u7684\u9ed8\u8ba4\u65f6\u5206\u79d2 *\/<\/span><br \/>\n<span class=\"token keyword\">const<\/span> defaultTime <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">startOfDay<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">getTime<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeValue <span class=\"token operator\">&#061;<\/span> <span class=\"token generic-function\"><span class=\"token function\">ref<\/span><span class=\"token generic class-name\"><span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;size&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span><\/span><\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;middle&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">const<\/span> sizeOptions<span class=\"token operator\">:<\/span> <span class=\"token builtin\">Array<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token builtin\">string<\/span><span class=\"token punctuation\">;<\/span> value<span class=\"token operator\">:<\/span> NonNullable<span class=\"token operator\">&lt;<\/span>DatePickerProps<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;size&#039;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;small&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;small&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;middle&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;middle&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  <span class=\"token punctuation\">{<\/span> label<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;large&#039;<\/span><span class=\"token punctuation\">,<\/span> value<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;large&#039;<\/span> <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token comment\">\/** \u8d77\u70b9\u4e0d\u5f97\u665a\u4e8e\u7ec8\u70b9\u7684\u300c\u6574\u65e5\u300d&#xff1a;\u540c\u4e00\u5929\u4ecd\u53ef\u9009&#xff0c;\u8d8a\u754c\u7684\u65f6\u95f4\u70b9\u4ea4\u7ed9 disabledTime *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledStartDate<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> end <span class=\"token operator\">&#061;<\/span> endValue<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">return<\/span> end <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">differenceInCalendarDays<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> end<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">0<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u7ec8\u70b9\u4e0d\u5f97\u65e9\u4e8e\u8d77\u70b9\u7684\u300c\u6574\u65e5\u300d&#xff1a;\u540c\u4e00\u5929\u4ecd\u53ef\u9009 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledEndDate<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> start <span class=\"token operator\">&#061;<\/span> startValue<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">return<\/span> start <span class=\"token operator\">!&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">differenceInCalendarDays<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> start<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">0<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u65f6\u95f4\u9762\u677f\u7684\u7981\u7528\u5355\u4f4d *\/<\/span><br \/>\n<span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">DisabledTimeUnits<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token function-variable function\">disabledHours<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token function-variable function\">disabledMinutes<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token function-variable function\">disabledSeconds<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> currentMinute<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u7531\u8fb9\u754c\u65f6\u523b\u7684\u65f6\u5206\u79d2\u6784\u9020\u7981\u7528\u5355\u4f4d&#xff1a;\u9010\u7ea7\u5224\u5b9a&#xff08;\u53ea\u6709\u9ad8\u4e00\u7ea7\u4e0e\u8fb9\u754c\u76f8\u540c&#xff0c;\u4e0b\u4e00\u7ea7\u624d\u6709\u989d\u5916\u7981\u7528\u9879&#xff09;&#xff0c;\u8fb9\u754c\u65f6\u523b\u672c\u8eab\u89c6\u4e3a\u8d8a\u754c<br \/>\n *<br \/>\n * &#064;param direction &#096;notLaterThan&#096; \u7981\u7528\u65e9\u4e8e\u7b49\u4e8e\u8fb9\u754c\u7684\u65f6\u523b&#xff08;\u7ec8\u70b9\u4fa7\u7528&#xff09;\u3001&#096;notEarlierThan&#096; \u7981\u7528\u665a\u4e8e\u7b49\u4e8e\u8fb9\u754c\u7684\u65f6\u523b&#xff08;\u8d77\u70b9\u4fa7\u7528&#xff09;<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledTimeUnitsByBoundary<\/span><span class=\"token punctuation\">(<\/span><br \/>\n  hour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  minute<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  second<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span><br \/>\n  direction<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;notLaterThan&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;notEarlierThan&#039;<\/span><br \/>\n<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> DisabledTimeUnits <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>direction <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;notLaterThan&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n      <span class=\"token function-variable function\">disabledHours<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> hour<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n      <span class=\"token function-variable function\">disabledMinutes<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span>currentHour <span class=\"token operator\">&#061;&#061;&#061;<\/span> hour <span class=\"token operator\">?<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> minute<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n      <span class=\"token function-variable function\">disabledSeconds<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> currentMinute<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span><br \/>\n        currentHour <span class=\"token operator\">&#061;&#061;&#061;<\/span> hour <span class=\"token operator\">&amp;&amp;<\/span> currentMinute <span class=\"token operator\">&#061;&#061;&#061;<\/span> minute <span class=\"token operator\">?<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> second <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token function-variable function\">disabledHours<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span>hour <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">24<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">disabledMinutes<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">(<\/span>currentHour <span class=\"token operator\">&#061;&#061;&#061;<\/span> hour <span class=\"token operator\">?<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span>minute <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function-variable function\">disabledSeconds<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">(<\/span>currentHour<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> currentMinute<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span><br \/>\n      currentHour <span class=\"token operator\">&#061;&#061;&#061;<\/span> hour <span class=\"token operator\">&amp;&amp;<\/span> currentMinute <span class=\"token operator\">&#061;&#061;&#061;<\/span> minute <span class=\"token operator\">?<\/span> <span class=\"token function\">range<\/span><span class=\"token punctuation\">(<\/span>second <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/**<br \/>\n * \u540c\u4e00\u5929\u5185\u7684\u65f6\u95f4\u7ea6\u675f&#xff1a;\u8de8\u5929\u5219\u65e0\u989d\u5916\u7981\u7528\u9879&#xff08;\u6574\u65e5\u8d8a\u754c\u7531\u5185\u6838\u6309\u6fc0\u6d3b\u6bb5\u7981\u7528&#xff09;<br \/>\n *<br \/>\n * &#064;param boundary \u7ea6\u675f\u8fb9\u754c\u7684\u65f6\u523b&#xff08;\u7ec8\u70b9\u4fa7\u4e3a\u8d77\u70b9\u3001\u8d77\u70b9\u4fa7\u4e3a\u7ec8\u70b9&#xff09;<br \/>\n * &#064;param timestamp \u9762\u677f\u5f53\u524d\u6240\u7f16\u8f91\u7684\u65f6\u523b<br \/>\n *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledUnitsNotLaterThan<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token function\">isSameDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">disabledTimeUnitsByBoundary<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">getHours<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">getMinutes<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">getSeconds<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;notLaterThan&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u540c disabledUnitsNotLaterThan&#xff0c;\u65b9\u5411\u76f8\u53cd&#xff1a;\u7981\u7528\u665a\u4e8e\u8fb9\u754c\u65f6\u523b\u7684\u65f6\u95f4\u5355\u4f4d *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledUnitsNotEarlierThan<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span><span class=\"token function\">isSameDay<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token punctuation\">,<\/span> boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> <span class=\"token function\">disabledTimeUnitsByBoundary<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">getHours<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">getMinutes<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">getSeconds<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;notEarlierThan&#039;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u7ec8\u70b9\u4fa7&#xff1a;\u540c\u4e00\u5929\u53ea\u5141\u8bb8\u9009\u62e9\u665a\u4e8e\u8d77\u70b9\u65f6\u523b\u7684\u65f6\u95f4 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledEndTime<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> start <span class=\"token operator\">&#061;<\/span> startValue<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">return<\/span> start <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">disabledUnitsNotLaterThan<\/span><span class=\"token punctuation\">(<\/span>start<span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8d77\u70b9\u4fa7&#xff1a;\u540c\u4e00\u5929\u53ea\u5141\u8bb8\u9009\u62e9\u65e9\u4e8e\u7ec8\u70b9\u65f6\u523b\u7684\u65f6\u95f4 *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledStartTime<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> end <span class=\"token operator\">&#061;<\/span> endValue<span class=\"token punctuation\">.<\/span>value<br \/>\n  <span class=\"token keyword\">return<\/span> end <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span> <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span> <span class=\"token operator\">:<\/span> <span class=\"token function\">disabledUnitsNotEarlierThan<\/span><span class=\"token punctuation\">(<\/span>end<span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u65e5\u671f\u65f6\u95f4\u8303\u56f4\u7528\u4f8b&#xff1a;\u7ec8\u70b9\u53ea\u9009\u665a\u4e8e\u8d77\u70b9\u7684\u65f6\u5206\u79d2&#xff08;\u65e5\u671f\u6574\u65e5\u8d8a\u754c\u7531\u5185\u6838\u6309\u6fc0\u6d3b\u6bb5\u81ea\u52a8\u7981\u7528&#xff09; *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">disabledDateTimeRangeTime<\/span><span class=\"token punctuation\">(<\/span>timestamp<span class=\"token operator\">:<\/span> <span class=\"token builtin\">number<\/span><span class=\"token punctuation\">,<\/span> side<span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;start&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token string\">&#039;end&#039;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> boundary <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">(<\/span>side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;end&#039;<\/span> <span class=\"token operator\">?<\/span> dateTimeRangeValue<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">:<\/span> dateTimeRangeValue<span class=\"token punctuation\">.<\/span>value<span class=\"token operator\">?.<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">??<\/span> <span class=\"token keyword\">null<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>boundary <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n  <span class=\"token keyword\">return<\/span> side <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;end&#039;<\/span><br \/>\n    <span class=\"token operator\">?<\/span> <span class=\"token function\">disabledUnitsNotLaterThan<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token operator\">:<\/span> <span class=\"token function\">disabledUnitsNotEarlierThan<\/span><span class=\"token punctuation\">(<\/span>boundary<span class=\"token punctuation\">,<\/span> timestamp<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token comment\">\/** \u8d77\u70b9\u9009\u5b8c\u5373\u6536\u8d77&#xff1a;\u628a\u7ec8\u70b9\u76f4\u63a5\u5c55\u5f00&#xff0c;\u7701\u6389\u7528\u6237\u7684\u4e00\u6b21\u70b9\u51fb *\/<\/span><br \/>\n<span class=\"token keyword\">function<\/span> <span class=\"token function\">onStartOpenChange<\/span><span class=\"token punctuation\">(<\/span>open<span class=\"token operator\">:<\/span> <span class=\"token builtin\">boolean<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>open<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    endOpen<span class=\"token punctuation\">.<\/span>value <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">true<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>script<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>div<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h1<span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">{<\/span> $route<span class=\"token punctuation\">.<\/span>name <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">{<\/span> $route<span class=\"token punctuation\">.<\/span>meta<span class=\"token punctuation\">.<\/span>title <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h1<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u57fa\u672c\u4f7f\u7528<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;basicValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;week&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5468&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarter&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5b63\u5ea6&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;year&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5e74\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u65e5\u671f\u683c\u5f0f<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4f7f\u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>format<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5b9a\u5236\u5c55\u793a\u683c\u5f0f<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;slashValue&#034;<\/span> format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy\/MM\/dd&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;chineseValue&#034;<\/span> format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy\u5e74MM\u6708dd\u65e5&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthFormatValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy\u5e74MM\u6708&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> \u5468\u5f62\u6001\u7684\u5468\u5e74\u5360\u4f4d\u7b26\u53d6 <span class=\"token constant\">ISO<\/span> \u53e3\u5f84&#xff08;<span class=\"token constant\">RRRR<\/span>&#xff09;&#xff0c;\u4e0e\u5468\u5e8f\u53f7&#xff08;<span class=\"token constant\">II<\/span>&#xff09;\u914d\u5bf9\u624d\u53ef\u89e3\u6790 <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekFormatValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;week&#034;<\/span> format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;RRRR\u5e74\u7b2cII\u5468&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5468&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangeFormatValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy\/MM\/dd&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u8303\u56f4\u9009\u62e9\u5668<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u901a\u8fc7\u8bbe\u7f6e <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>type<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5c5e\u6027&#xff0c;\u6307\u5b9a\u8303\u56f4\u9009\u62e9\u5668\u7c7b\u578b<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekrange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekRangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthrange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthRangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterrange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterRangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearrange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearRangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimerange&#034;<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u5728\u8303\u56f4\u5f62\u6001\u4e0a\u53e0\u52a0\u65f6\u95f4\u9762\u677f&#xff1a;\u4e24\u6bb5\u5171\u7528\u540c\u4e00\u4e2a\u65e5\u671f\u65f6\u95f4\u9762\u677f&#xff0c;\u70b9\u300c\u786e\u5b9a\u300d\u63d0\u4ea4\u5f53\u524d\u6bb5\u5e76\u81ea\u52a8\u5207\u5230\u53e6\u4e00\u7aef&#xff0c;\u4e24\u6bb5\u90fd\u786e\u5b9a\u540e\u624d\u6536\u8d77&#xff1b;\u5c55\u5f00\u671f\u95f4\u7684\u9009\u62e9\u53ea\u843d\u5728\u8349\u7a3f\u4e0a&#xff0c;\u5173\u95ed\u9762\u677f\u5219\u4e22\u5f03\u8349\u7a3f&#xff1b;\u914d\u5408<br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledTime<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u53ef\u8ba9\u7ec8\u70b9\u53ea\u9009\u300c\u665a\u4e8e\u8d77\u70b9\u300d\u7684\u65f6\u5206\u79d2&#xff08;\u65e5\u671f\u6574\u65e5\u8d8a\u754c\u7531\u5185\u6838\u6309\u6fc0\u6d3b\u6bb5\u81ea\u52a8\u7981\u7528&#xff09;<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;dateTimeRangeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimerange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTimeRangeTime&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u5207\u6362\u4e0d\u540c\u7684\u9009\u62e9\u5668<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u63d0\u4f9b\u9009\u62e9\u5668&#xff0c;\u81ea\u7531\u5207\u6362\u4e0d\u540c\u7c7b\u578b\u7684\u65e5\u671f\u9009\u62e9\u5668&#xff0c;\u5e38\u7528\u4e8e\u65e5\u671f\u7b5b\u9009\u573a\u5408&#xff1b;\u65f6\u95f4\u9009\u62e9\u7531 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>TimePicker<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u7ec4\u4ef6\u627f\u62c5&#xff0c;\u6545\u5206\u6bb5\u9879\u4e0d\u542b\u300c\u65f6\u95f4\u300d\u9879<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>Segmented v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;switchableType&#034;<\/span> <span class=\"token operator\">:<\/span>options<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;switchableOptions&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;switchableValue&#034;<\/span> <span class=\"token operator\">:<\/span>type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;switchableType&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;switchablePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u65e5\u671f\u65f6\u95f4\u9009\u62e9<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u589e\u52a0\u9009\u62e9\u65f6\u95f4\u529f\u80fd&#xff0c;\u65f6\u95f4\u9762\u677f\u9009\u9879\u7ecf <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>timePickerProps<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u900f\u4f20&#xff1b;\u5c55\u5f00\u671f\u95f4\u7684\u9009\u62e9\u53ea\u843d\u5728\u8349\u7a3f\u503c\u4e0a&#xff0c;\u70b9\u300c\u786e\u5b9a\u300d\u6216\u300c\u6b64\u523b\u300d\u624d\u63d0\u4ea4&#xff0c;\u5173\u95ed\u9762\u677f\u5219\u4e22\u5f03\u8349\u7a3f<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u5206\u949f\u6309 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token number\">5<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5206\u949f\u6b65\u957f\u9009\u62e9<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;minuteStepValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>time<span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ minuteStep: 5 }&#034;<\/span><br \/>\n      placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><br \/>\n      <span class=\"token operator\">&gt;<\/span><span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token number\">12<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5c0f\u65f6\u5236&#xff1a;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>use12Hours<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u4e0e <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token number\">12<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5c0f\u65f6\u5236\u683c\u5f0f&#xff08;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>hh<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>&#xff09;\u914d\u5408\u4f7f\u7528<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<br \/>\n    <span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;twelveHourValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n      format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy-MM-dd hh:mm:ss&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>time<span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ use12Hours: true }&#034;<\/span><br \/>\n      placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u9690\u85cf\u300c\u6b64\u523b\u300d\u5feb\u6377<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;showNowValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span> <span class=\"token operator\">:<\/span>show<span class=\"token operator\">&#8211;<\/span>now<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4e8b\u4ef6<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u5355\u9009\u5f62\u6001\u7ed1\u5b9a<br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>change<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<br \/>\n      <span class=\"token operator\">&gt;<\/span>\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>openChange<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>panelChange<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>focus<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>blur<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>&#xff0c;\u8303\u56f4\u5f62\u6001\u7ed1\u5b9a<br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>change<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>calendarChange<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>&#xff0c;\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u8fd8\u53ef\u7ed1\u5b9a<br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>ok<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>&#xff1b;\u5404\u4e8b\u4ef6\u7684\u53c2\u6570\u90fd\u4f1a\u6253\u5370\u5230\u63a7\u5236\u53f0<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;eventValue&#034;<\/span><br \/>\n        placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">change<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">open<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventOpenChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">panel<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventPanelChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">focus<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventFocus&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">blur<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventBlur&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;eventRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">change<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">calendar<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventCalendarChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">open<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventOpenChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">panel<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventPanelChange&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;eventDateTimeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n        placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">change<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventChange&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">ok<\/span><\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventOk&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">open<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onEventOpenChange&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u7981\u7528<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker disabled v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker disabled v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledMonthValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker disabled v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledFullRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u8303\u56f4\u5f62\u6001\u7684 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabled<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u53ef\u4f20\u4e24\u6bb5\u5143\u7ec4\u9010\u6bb5\u7981\u7528&#xff0c;\u88ab\u7981\u7528\u7684\u6bb5\u4e0d\u53ef\u8f93\u5165\u3001\u9762\u677f\u4e5f\u4e0d\u6574\u4f53\u7f6e\u7070<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledSideRangeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;[true, false]&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4e0d\u53ef\u9009\u62e9\u65e5\u671f\u548c\u65f6\u95f4<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledDate<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u4e0e <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledTime<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5206\u522b\u7981\u6b62\u9009\u62e9\u90e8\u5206\u65e5\u671f\u4e0e\u65f6\u95f4&#xff0c;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledTime<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u9700\u4e0e\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u914d\u5408\u4f7f\u7528<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTimeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTodayOrBefore&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTimeUnits&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultTime&#034;<\/span><br \/>\n      placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u4e4b\u540e\u7684\u65e5\u671f<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;beforeTodayValue&#034;<\/span> <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateBefore&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u53ea\u80fd\u9009\u62e9\u672a\u6765\u4e03\u5929\u5185\u7684\u65e5\u671f<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;afterTodayValue&#034;<\/span> <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateAfter&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u65e5\u671f\u8303\u56f4\u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u53ca\u4e4b\u524d&#xff08;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledDate<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u540c\u65f6\u4f5c\u7528\u4e8e\u4e24\u4e2a\u9762\u677f&#xff09;<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledRangeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTodayOrBefore&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4e0d\u53ef\u9009\u62e9\u5468\u516d\u4e0e\u5468\u65e5<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekendValue&#034;<\/span> <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledWeekendDate&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u6708\u5f62\u6001\u4e0d\u53ef\u9009\u62e9\u4eca\u5929\u4e4b\u524d\u7684\u6708\u4efd&#xff08;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledDate<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u7684\u7c92\u5ea6\u4e3a\u6574\u6708&#xff0c;\u6574\u6708\u90fd\u4e0d\u53ef\u9009\u8be5\u683c\u624d\u7981\u7528&#xff09;<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledMonthBeforeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledMonthBefore&#034;<\/span><br \/>\n      placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>time<span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u7684 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>hideDisabledOptions<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u628a\u7981\u7528\u7684\u65f6\u5206\u79d2\u4ece\u9762\u677f\u4e2d\u9690\u85cf&#xff08;\u800c\u975e\u7f6e\u7070&#xff09;&#xff0c;\u9002\u5408\u7981\u7528\u9879\u8fc7\u591a\u7684\u573a\u666f<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;hideDisabledOptionsValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTodayOrBefore&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledDateTimeUnits&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>time<span class=\"token operator\">&#8211;<\/span>picker<span class=\"token operator\">&#8211;<\/span>props<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ hideDisabledOptions: true }&#034;<\/span><br \/>\n      placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u9009\u62e9\u4e0d\u8d85\u8fc7\u4e03\u5929\u7684\u8303\u56f4<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>calendarChange<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u8bb0\u5f55\u8349\u7a3f\u533a\u95f4\u3001\u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledDate<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u8bfb\u8349\u7a3f\u6536\u7a84\u53ef\u9009\u8303\u56f4<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sevenDaysValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledSevenDaysDate&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">calendar<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSevenDaysCalendarChange&#034;<\/span><br \/>\n      <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">open<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onSevenDaysOpenChange&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u9884\u8bbe\u8303\u56f4<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>presets<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u9884\u8bbe\u5e38\u7528\u65e5\u671f\u4e0e\u533a\u95f4&#xff0c;\u70b9\u51fb\u5373\u586b\u5165\u5e76\u6536\u8d77&#xff1b;\u503c\u53ef\u4e3a\u65f6\u95f4\u6233&#xff0c;\u4e5f\u53ef\u4e3a\u8fd4\u56de\u65f6\u95f4\u6233\u7684\u51fd\u6570<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presetValue&#034;<\/span> <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datePresets&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presetRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePresets&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presetMonthRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthrange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthRangePresets&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthRangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;presetDateTimeRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimerange&#034;<\/span><br \/>\n        format<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yyyy\/MM\/dd HH:mm:ss&#034;<\/span><br \/>\n        width<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;400px&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>presets<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePresets&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u989d\u5916\u7684\u9875\u811a<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>renderExtraFooter<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5728\u9762\u677f\u5e95\u90e8\u8ffd\u52a0\u989d\u5916\u5185\u5bb9&#xff0c;\u6e32\u67d3\u5728\u300c\u4eca\u5929\u300d\u300c\u786e\u5b9a\u300d\u7b49\u64cd\u4f5c\u884c\u4e4b\u4e0a<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #renderExtraFooter<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>span<span class=\"token operator\">&gt;<\/span>extra footer<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>span<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #renderExtraFooter<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>span<span class=\"token operator\">&gt;<\/span>extra footer<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>span<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #renderExtraFooter<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>span<span class=\"token operator\">&gt;<\/span>extra footer<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>span<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimerange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #renderExtraFooter<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>span<span class=\"token operator\">&gt;<\/span>extra footer<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>span<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #renderExtraFooter<span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>span<span class=\"token operator\">&gt;<\/span>extra footer<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>span<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u4e09\u79cd\u5927\u5c0f<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>RadioGroup v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeValue&#034;<\/span> <span class=\"token operator\">:<\/span>options<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeOptions&#034;<\/span> button button<span class=\"token operator\">&#8211;<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;solid&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeCaseValue&#034;<\/span> <span class=\"token operator\">:<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeMonthValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> <span class=\"token operator\">:<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeValue&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeWeekValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;week&#034;<\/span> <span class=\"token operator\">:<\/span>size<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;sizeValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5468&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u5b9a\u5236\u65e5\u671f\u5355\u5143\u683c<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><br \/>\n      <span class=\"token operator\">&gt;<\/span>\u7528 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>dateRender<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u81ea\u5b9a\u4e49\u65e5\u671f\u5355\u5143\u683c\u7684\u5185\u5bb9\u4e0e\u6837\u5f0f&#xff0c;\u5165\u53c2 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>current<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u4e3a\u8be5\u683c\u65e5\u671f\u7684\u96f6\u70b9\u65f6\u95f4\u6233<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<br \/>\n    <span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;dateRenderValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #dateRender<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ current }&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>div <span class=\"token operator\">:<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;firstDayCellStyle(getDate(current))&#034;<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">{<\/span> <span class=\"token function\">getDate<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;dateRenderRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>template #dateRender<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;{ current }&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>div <span class=\"token operator\">:<\/span>style<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;firstDayCellStyle(getDate(current))&#034;<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">{<\/span> <span class=\"token function\">getDate<\/span><span class=\"token punctuation\">(<\/span>current<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u81ea\u5b9a\u4e49\u65e5\u671f\u8303\u56f4\u9009\u62e9<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u7528\u4e24\u4e2a\u72ec\u7acb\u7684\u9009\u62e9\u5668\u7ec4\u5408\u51fa\u8303\u56f4\u9009\u62e9&#xff1a;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledDate<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u6309\u6574\u65e5\u4e92\u76f8\u7ea6\u675f\u8d77\u6b62\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>disabledTime<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u628a\u540c\u4e00\u5929\u7684\u65f6\u5206\u79d2\u7cbe\u786e\u5230\u8fb9\u754c\u4e4b\u540e&#xff0c;<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>open<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u4e0e\u5c55\u5f00\u4e8b\u4ef6\u8054\u52a8&#xff0c;\u8d77\u70b9\u9009\u5b8c\u81ea\u52a8\u5c55\u5f00\u7ec8\u70b9<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;startValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledStartDate&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledStartTime&#034;<\/span><br \/>\n        placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u5f00\u59cb\u65e5\u671f&#034;<\/span><br \/>\n        <span class=\"token decorator\"><span class=\"token at operator\">&#064;<\/span><span class=\"token function\">open<\/span><\/span><span class=\"token operator\">&#8211;<\/span>change<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;onStartOpenChange&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;endValue&#034;<\/span><br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>open<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;endOpen&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>date<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledEndDate&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>disabled<span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;disabledEndTime&#034;<\/span><br \/>\n        placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u7ed3\u675f\u65e5\u671f&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u540e\u7f00\u56fe\u6807<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;suffixValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>template #suffixIcon<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>svg width<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1em&#034;<\/span> height<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1em&#034;<\/span> viewBox<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1024 1024&#034;<\/span> fill<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;currentColor&#034;<\/span> focusable<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> aria<span class=\"token operator\">&#8211;<\/span>hidden<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;true&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>path<br \/>\n            d<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z&#034;<\/span><br \/>\n          <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n          <span class=\"token operator\">&lt;<\/span>path<br \/>\n            d<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z&#034;<\/span><br \/>\n          <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>svg<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>DatePicker<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u81ea\u5b9a\u4e49\u72b6\u6001<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;errorValue&#034;<\/span> status<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;error&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;warningValue&#034;<\/span> status<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;warning&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;errorRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> status<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;error&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;warningRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> status<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;warning&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u65e0\u8fb9\u6846<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessValue&#034;<\/span> <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessWeekValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;week&#034;<\/span> <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5468&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessMonthValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;month&#034;<\/span> <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u6708\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessQuarterValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarter&#034;<\/span> <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5b63\u5ea6&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessYearValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;year&#034;<\/span> <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u5e74\u4efd&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessDateRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessWeekRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekrange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;weekRangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessMonthRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthrange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;monthRangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessQuarterRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterrange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;quarterRangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;borderlessYearRangeValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearrange&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>bordered<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;false&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;yearRangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u5f39\u51fa\u4f4d\u7f6e<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementBottomLeftValue&#034;<\/span> placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;bottomLeft&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u5de6\u4e0b&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementBottomRightValue&#034;<\/span> placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;bottomRight&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u53f3\u4e0b&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementTopLeftValue&#034;<\/span> placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;topLeft&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u5de6\u4e0a&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementTopRightValue&#034;<\/span> placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;topRight&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u53f3\u4e0a&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementRangeBottomLeftValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;bottomLeft&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n        v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;placementRangeTopLeftValue&#034;<\/span><br \/>\n        type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span><br \/>\n        placement<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;topLeft&#034;<\/span><br \/>\n        <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n      <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u952e\u76d8\u64cd\u4f5c<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      \u9762\u677f\u5c55\u5f00\u540e\u6309 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>Tab<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u628a\u952e\u76d8\u4ea4\u7ed9\u9762\u677f&#xff0c;\u65b9\u5411\u952e\u6309\u5f53\u524d\u9762\u677f\u5c42\u7ea7\u7684\u7c92\u5ea6\u79fb\u52a8\u5149\u6807\u3001<span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>Enter<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span><br \/>\n      \u63d0\u4ea4&#xff1b;\u5e26\u65f6\u95f4\u7684\u5f62\u6001\u4e0b <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>Tab<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u5728\u65e5\u671f\u4e0e\u65f6\u95f4\u4e24\u5217\u4e4b\u95f4\u5207\u6362&#xff0c;\u975e\u6d3b\u52a8\u5217\u6de1\u5316<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>Space vertical<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;keyboardValue&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;keyboardRangeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;daterange&#034;<\/span> <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>DatePicker v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;keyboardDateTimeValue&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetime&#034;<\/span> placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\u8bf7\u9009\u62e9\u65e5\u671f\u65f6\u95f4&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>Space<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>h2 <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mt30 mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span>\u6309\u6bb5\u9ed8\u8ba4\u65f6\u523b<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>h2<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>p <span class=\"token keyword\">class<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;mb10&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span>defaultTime<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u6307\u5b9a\u7a7a\u8349\u7a3f\u65f6\u7684\u9ed8\u8ba4\u65f6\u5206\u79d2&#xff0c;\u8303\u56f4\u5f62\u6001\u53ef\u4f20\u4e24\u6bb5\u5143\u7ec4\u6309\u6bb5\u6307\u5b9a&#xff08;\u8d77\u70b9 <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token number\">00<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">00<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">00<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>\u3001\u7ec8\u70b9<br \/>\n      <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token number\">23<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">59<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">59<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span>&#xff09;&#xff1b;\u67d0\u6bb5\u4e3a <span class=\"token operator\">&lt;<\/span>code<span class=\"token operator\">&gt;<\/span><span class=\"token keyword\">undefined<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>code<span class=\"token operator\">&gt;<\/span> \u65f6\u8be5\u6bb5\u9000\u56de\u5f53\u524d\u65f6\u523b<br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>p<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>DatePicker<br \/>\n      v<span class=\"token operator\">&#8211;<\/span>model<span class=\"token operator\">:<\/span>value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;defaultTimeRangeValue&#034;<\/span><br \/>\n      type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;datetimerange&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span><span class=\"token keyword\">default<\/span><span class=\"token operator\">&#8211;<\/span>time<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangeDefaultTime&#034;<\/span><br \/>\n      <span class=\"token operator\">:<\/span>placeholder<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rangePlaceholder&#034;<\/span><br \/>\n    <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>template<span class=\"token operator\">&gt;<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6548\u679c\u5982\u4e0b\u56fe&#xff1a; \u5728\u7ebf\u9884\u89c8<br \/>\nAPIs \u53d7\u63a7 \/ \u975e\u53d7\u63a7&#xff1a;\u4f20\u5165 v-model:value \u5373\u53d7\u63a7&#xff0c;\u7ec4\u4ef6\u53ea\u7ecf update:value \u4e0a\u62a5&#xff1b;\u4e0d\u4f20\u65f6\u7531\u7ec4\u4ef6\u81ea\u6301&#xff0c;\u53ef\u7528 defaultValue \u6307\u5b9a\u521d\u503c\u3002\u4e24\u8005\u540c\u65f6\u4f20\u65f6\u4ee5 value \u4e3a\u51c6\u3002 DatePicker Props<br \/>\n\u540d\u79f0\u8bf4\u660e\u7c7b\u578b\u9ed8\u8ba4\u503cvalue v-model\u53cc\u5411\u7ed1\u5b9a\u503c&#xff0c;\u6beb\u79d2\u65f6\u95f4\u6233&#xff1b;\u8303\u56f4\u5f62\u6001\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u67d0\u6bb5\u53ef\u4e3a <\/p>\n","protected":false},"author":2,"featured_media":123775,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12392,684,2475,568],"topic":[],"class_list":["post-123785","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-12392","tag-vue3","tag-less","tag-typescript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/123785.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6548\u679c\u5982\u4e0b\u56fe&#xff1a; \u5728\u7ebf\u9884\u89c8 APIs \u53d7\u63a7 \/ \u975e\u53d7\u63a7&#xff1a;\u4f20\u5165 v-model:value \u5373\u53d7\u63a7&#xff0c;\u7ec4\u4ef6\u53ea\u7ecf update:value \u4e0a\u62a5&#xff1b;\u4e0d\u4f20\u65f6\u7531\u7ec4\u4ef6\u81ea\u6301&#xff0c;\u53ef\u7528 defaultValue \u6307\u5b9a\u521d\u503c\u3002\u4e24\u8005\u540c\u65f6\u4f20\u65f6\u4ee5 value \u4e3a\u51c6\u3002 DatePicker Props \u540d\u79f0\u8bf4\u660e\u7c7b\u578b\u9ed8\u8ba4\u503cvalue v-model\u53cc\u5411\u7ed1\u5b9a\u503c&#xff0c;\u6beb\u79d2\u65f6\u95f4\u6233&#xff1b;\u8303\u56f4\u5f62\u6001\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u67d0\u6bb5\u53ef\u4e3a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/123785.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-07T21:33:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213317-6aef991daee84.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"39 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/123785.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/123785.html\",\"name\":\"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-11-07T21:33:28+00:00\",\"dateModified\":\"2026-11-07T21:33:28+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/123785.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/123785.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/123785.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/123785.html","og_locale":"zh_CN","og_type":"article","og_title":"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6548\u679c\u5982\u4e0b\u56fe&#xff1a; \u5728\u7ebf\u9884\u89c8 APIs \u53d7\u63a7 \/ \u975e\u53d7\u63a7&#xff1a;\u4f20\u5165 v-model:value \u5373\u53d7\u63a7&#xff0c;\u7ec4\u4ef6\u53ea\u7ecf update:value \u4e0a\u62a5&#xff1b;\u4e0d\u4f20\u65f6\u7531\u7ec4\u4ef6\u81ea\u6301&#xff0c;\u53ef\u7528 defaultValue \u6307\u5b9a\u521d\u503c\u3002\u4e24\u8005\u540c\u65f6\u4f20\u65f6\u4ee5 value \u4e3a\u51c6\u3002 DatePicker Props \u540d\u79f0\u8bf4\u660e\u7c7b\u578b\u9ed8\u8ba4\u503cvalue v-model\u53cc\u5411\u7ed1\u5b9a\u503c&#xff0c;\u6beb\u79d2\u65f6\u95f4\u6233&#xff1b;\u8303\u56f4\u5f62\u6001\u4e3a\u4e24\u6bb5\u5143\u7ec4&#xff0c;\u67d0\u6bb5\u53ef\u4e3a","og_url":"https:\/\/www.wsisp.com\/helps\/123785.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-11-07T21:33:28+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/11\/20261107213317-6aef991daee84.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"39 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/123785.html","url":"https:\/\/www.wsisp.com\/helps\/123785.html","name":"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-11-07T21:33:28+00:00","dateModified":"2026-11-07T21:33:28+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/123785.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/123785.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/123785.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"Vue3\u65e5\u671f\u9009\u62e9\u5668\uff08DatePicker\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/123785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=123785"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/123785\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/123775"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=123785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=123785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=123785"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=123785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}