/*! For license information please see 2469.ee75b478.js.LICENSE.txt */ (self.webpackChunk=self.webpackChunk||[]).push([["2469"],{81564:function(n,s,a){"use strict";a.r(s);var t=a("80681");let d=["innerHTML"];s.default={setup:()=>({html:""}),render:()=>((0,t.wg)(),(0,t.iD)("div",{class:"van-doc-markdown-body",innerHTML:'

Calendar \u65E5\u5386

\n

\u4ECB\u7ECD

\n

\u65E5\u5386\u7EC4\u4EF6\u7528\u4E8E\u9009\u62E9\u65E5\u671F\u6216\u65E5\u671F\u533A\u95F4\u3002

\n

\u5F15\u5165

\n

\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002

\n
import { createApp } from 'vue';\nimport { Calendar } from 'vant';\n\nconst app = createApp();\napp.use(Calendar);\n
\n

\u4EE3\u7801\u6F14\u793A

\n

\u9009\u62E9\u5355\u4E2A\u65E5\u671F

\n

\u4E0B\u9762\u6F14\u793A\u4E86\u7ED3\u5408\u5355\u5143\u683C\u6765\u4F7F\u7528\u65E5\u5386\u7EC4\u4EF6\u7684\u7528\u6CD5\uFF0C\u65E5\u671F\u9009\u62E9\u5B8C\u6210\u540E\u4F1A\u89E6\u53D1 confirm \u4E8B\u4EF6\u3002

\n
<van-cell title="\u9009\u62E9\u5355\u4E2A\u65E5\u671F" :value="date" @click="show = true" />\n<van-calendar v-model:show="show" @confirm="onConfirm" />\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const date = ref('');\n    const show = ref(false);\n\n    const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`;\n    const onConfirm = (value) => {\n      show.value = false;\n      date.value = formatDate(value);\n    };\n\n    return {\n      date,\n      show,\n      onConfirm,\n    };\n  },\n};\n
\n

\u9009\u62E9\u591A\u4E2A\u65E5\u671F

\n

\u8BBE\u7F6E type \u4E3A multiple \u540E\u53EF\u4EE5\u9009\u62E9\u591A\u4E2A\u65E5\u671F\uFF0C\u6B64\u65F6 confirm \u4E8B\u4EF6\u8FD4\u56DE\u7684 date \u4E3A\u6570\u7EC4\u7ED3\u6784\uFF0C\u6570\u7EC4\u5305\u542B\u82E5\u5E72\u4E2A\u9009\u4E2D\u7684\u65E5\u671F\u3002

\n
<van-cell title="\u9009\u62E9\u591A\u4E2A\u65E5\u671F" :value="text" @click="show = true" />\n<van-calendar v-model:show="show" type="multiple" @confirm="onConfirm" />\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const text = ref('');\n    const show = ref(false);\n\n    const onConfirm = (dates) => {\n      show.value = false;\n      text.value = `\u9009\u62E9\u4E86 ${dates.length} \u4E2A\u65E5\u671F`;\n    };\n\n    return {\n      text,\n      show,\n      onConfirm,\n    };\n  },\n};\n
\n

\u9009\u62E9\u65E5\u671F\u533A\u95F4

\n

\u8BBE\u7F6E type \u4E3A range \u540E\u53EF\u4EE5\u9009\u62E9\u65E5\u671F\u533A\u95F4\uFF0C\u6B64\u65F6 confirm \u4E8B\u4EF6\u8FD4\u56DE\u7684 date \u4E3A\u6570\u7EC4\u7ED3\u6784\uFF0C\u6570\u7EC4\u7B2C\u4E00\u9879\u4E3A\u5F00\u59CB\u65F6\u95F4\uFF0C\u7B2C\u4E8C\u9879\u4E3A\u7ED3\u675F\u65F6\u95F4\u3002

\n
<van-cell title="\u9009\u62E9\u65E5\u671F\u533A\u95F4" :value="date" @click="show = true" />\n<van-calendar v-model:show="show" type="range" @confirm="onConfirm" />\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const date = ref('');\n    const show = ref(false);\n\n    const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`;\n    const onConfirm = (values) => {\n      const [start, end] = values;\n      show.value = false;\n      date.value = `${formatDate(start)} - ${formatDate(end)}`;\n    };\n\n    return {\n      date,\n      show,\n      onConfirm,\n    };\n  },\n};\n
\n
\n

Tips: \u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0C\u65E5\u671F\u533A\u95F4\u7684\u8D77\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u540C\u4E00\u5929\uFF0C\u53EF\u4EE5\u901A\u8FC7\u8BBE\u7F6E allow-same-day \u5C5E\u6027\u6765\u5141\u8BB8\u9009\u62E9\u540C\u4E00\u5929\u3002

\n
\n

\u5FEB\u6377\u9009\u62E9

\n

\u5C06 show-confirm \u8BBE\u7F6E\u4E3A false \u53EF\u4EE5\u9690\u85CF\u786E\u8BA4\u6309\u94AE\uFF0C\u8FD9\u79CD\u60C5\u51B5\u4E0B\u9009\u62E9\u5B8C\u6210\u540E\u4F1A\u7ACB\u5373\u89E6\u53D1 confirm \u4E8B\u4EF6\u3002

\n
<van-calendar v-model:show="show" :show-confirm="false" />\n
\n

\u81EA\u5B9A\u4E49\u989C\u8272

\n

\u901A\u8FC7 color \u5C5E\u6027\u53EF\u4EE5\u81EA\u5B9A\u4E49\u65E5\u5386\u7684\u989C\u8272\uFF0C\u5BF9\u9009\u4E2D\u65E5\u671F\u548C\u5E95\u90E8\u6309\u94AE\u751F\u6548\u3002

\n
<van-calendar v-model:show="show" color="#ee0a24" />\n
\n

\u81EA\u5B9A\u4E49\u65E5\u671F\u8303\u56F4

\n

\u901A\u8FC7 min-date \u548C max-date \u5B9A\u4E49\u65E5\u5386\u7684\u8303\u56F4\u3002

\n
<van-calendar v-model:show="show" :min-date="minDate" :max-date="maxDate" />\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const show = ref(false);\n\n    return {\n      show,\n      minDate: new Date(2010, 0, 1),\n      maxDate: new Date(2010, 0, 31),\n    };\n  },\n};\n
\n

\u81EA\u5B9A\u4E49\u6309\u94AE\u6587\u5B57

\n

\u901A\u8FC7 confirm-text \u8BBE\u7F6E\u6309\u94AE\u6587\u5B57\uFF0C\u901A\u8FC7 confirm-disabled-text \u8BBE\u7F6E\u6309\u94AE\u7981\u7528\u65F6\u7684\u6587\u5B57\u3002

\n
<van-calendar\n  v-model:show="show"\n  type="range"\n  confirm-text="\u5B8C\u6210"\n  confirm-disabled-text="\u8BF7\u9009\u62E9\u7ED3\u675F\u65F6\u95F4"\n/>\n
\n

\u81EA\u5B9A\u4E49\u65E5\u671F\u6587\u6848

\n

\u901A\u8FC7\u4F20\u5165 formatter \u51FD\u6570\u6765\u5BF9\u65E5\u5386\u4E0A\u6BCF\u4E00\u683C\u7684\u5185\u5BB9\u8FDB\u884C\u683C\u5F0F\u5316\u3002

\n
<van-calendar v-model:show="show" type="range" :formatter="formatter" />\n
\n
export default {\n  setup() {\n    const formatter = (day) => {\n      const month = day.date.getMonth() + 1;\n      const date = day.date.getDate();\n\n      if (month === 5) {\n        if (date === 1) {\n          day.topInfo = '\u52B3\u52A8\u8282';\n        } else if (date === 4) {\n          day.topInfo = '\u9752\u5E74\u8282';\n        } else if (date === 11) {\n          day.text = '\u4ECA\u5929';\n        }\n      }\n\n      if (day.type === 'start') {\n        day.bottomInfo = '\u5165\u4F4F';\n      } else if (day.type === 'end') {\n        day.bottomInfo = '\u79BB\u5E97';\n      }\n\n      return day;\n    };\n\n    return {\n      formatter,\n    };\n  },\n};\n
\n

\u81EA\u5B9A\u4E49\u5F39\u51FA\u4F4D\u7F6E

\n

\u901A\u8FC7 position \u5C5E\u6027\u81EA\u5B9A\u4E49\u5F39\u51FA\u5C42\u7684\u5F39\u51FA\u4F4D\u7F6E\uFF0C\u53EF\u9009\u503C\u4E3A top\u3001left\u3001right\u3002

\n
<van-calendar v-model:show="show" :round="false" position="right" />\n
\n

\u65E5\u671F\u533A\u95F4\u6700\u5927\u8303\u56F4

\n

\u9009\u62E9\u65E5\u671F\u533A\u95F4\u65F6\uFF0C\u53EF\u4EE5\u901A\u8FC7 max-range \u5C5E\u6027\u6765\u6307\u5B9A\u6700\u591A\u53EF\u9009\u5929\u6570\uFF0C\u9009\u62E9\u7684\u8303\u56F4\u8D85\u8FC7\u6700\u591A\u53EF\u9009\u5929\u6570\u65F6\uFF0C\u4F1A\u5F39\u51FA\u76F8\u5E94\u7684\u63D0\u793A\u6587\u6848\u3002

\n
<van-calendar type="range" :max-range="3" :style="{ height: '500px' }" />\n
\n

\u81EA\u5B9A\u4E49\u5468\u8D77\u59CB\u65E5

\n

\u901A\u8FC7 first-day-of-week \u5C5E\u6027\u8BBE\u7F6E\u4E00\u5468\u4ECE\u54EA\u5929\u5F00\u59CB\u3002

\n
<van-calendar first-day-of-week="1" />\n
\n

\u5E73\u94FA\u5C55\u793A

\n

\u5C06 poppable \u8BBE\u7F6E\u4E3A false\uFF0C\u65E5\u5386\u4F1A\u76F4\u63A5\u5C55\u793A\u5728\u9875\u9762\u5185\uFF0C\u800C\u4E0D\u662F\u4EE5\u5F39\u5C42\u7684\u5F62\u5F0F\u51FA\u73B0\u3002

\n
<van-calendar\n  title="\u65E5\u5386"\n  :poppable="false"\n  :show-confirm="false"\n  :style="{ height: '500px' }"\n/>\n
\n

API

\n

Props

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
type\u9009\u62E9\u7C7B\u578B:
single \u8868\u793A\u9009\u62E9\u5355\u4E2A\u65E5\u671F\uFF0C
multiple \u8868\u793A\u9009\u62E9\u591A\u4E2A\u65E5\u671F\uFF0C
range \u8868\u793A\u9009\u62E9\u65E5\u671F\u533A\u95F4
stringsingle
title\u65E5\u5386\u6807\u9898string\u65E5\u671F\u9009\u62E9
color\u4E3B\u9898\u8272\uFF0C\u5BF9\u5E95\u90E8\u6309\u94AE\u548C\u9009\u4E2D\u65E5\u671F\u751F\u6548string#1989fa
min-date\u53EF\u9009\u62E9\u7684\u6700\u5C0F\u65E5\u671FDate\u5F53\u524D\u65E5\u671F
max-date\u53EF\u9009\u62E9\u7684\u6700\u5927\u65E5\u671FDate\u5F53\u524D\u65E5\u671F\u7684\u516D\u4E2A\u6708\u540E
default-date\u9ED8\u8BA4\u9009\u4E2D\u7684\u65E5\u671F\uFF0Ctype \u4E3A multiple \u6216 range \u65F6\u4E3A\u6570\u7EC4\uFF0C\u4F20\u5165 null \u8868\u793A\u9ED8\u8BA4\u4E0D\u9009\u62E9Date | Date[] | null\u4ECA\u5929
row-height\u65E5\u671F\u884C\u9AD8number | string64
formatter\u65E5\u671F\u683C\u5F0F\u5316\u51FD\u6570(day: Day) => Day-
poppable\u662F\u5426\u4EE5\u5F39\u5C42\u7684\u5F62\u5F0F\u5C55\u793A\u65E5\u5386booleantrue
lazy-render\u662F\u5426\u53EA\u6E32\u67D3\u53EF\u89C6\u533A\u57DF\u7684\u5185\u5BB9booleantrue
show-mark\u662F\u5426\u663E\u793A\u6708\u4EFD\u80CC\u666F\u6C34\u5370booleantrue
show-title\u662F\u5426\u5C55\u793A\u65E5\u5386\u6807\u9898booleantrue
show-subtitle\u662F\u5426\u5C55\u793A\u65E5\u5386\u526F\u6807\u9898\uFF08\u5E74\u6708\uFF09booleantrue
show-confirm\u662F\u5426\u5C55\u793A\u786E\u8BA4\u6309\u94AEbooleantrue
readonly\u662F\u5426\u4E3A\u53EA\u8BFB\u72B6\u6001\uFF0C\u53EA\u8BFB\u72B6\u6001\u4E0B\u4E0D\u80FD\u9009\u62E9\u65E5\u671Fbooleanfalse
confirm-text\u786E\u8BA4\u6309\u94AE\u7684\u6587\u5B57string\u786E\u5B9A
confirm-disabled-text\u786E\u8BA4\u6309\u94AE\u5904\u4E8E\u7981\u7528\u72B6\u6001\u65F6\u7684\u6587\u5B57string\u786E\u5B9A
first-day-of-week\u8BBE\u7F6E\u5468\u8D77\u59CB\u65E50-60
\n

Calendar Poppable Props

\n

\u5F53 Calendar \u7684 poppable \u4E3A true \u65F6\uFF0C\u652F\u6301\u4EE5\u4E0B props:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
v-model:show\u662F\u5426\u663E\u793A\u65E5\u5386\u5F39\u7A97booleanfalse
position\u5F39\u51FA\u4F4D\u7F6E\uFF0C\u53EF\u9009\u503C\u4E3A top right leftstringbottom
round\u662F\u5426\u663E\u793A\u5706\u89D2\u5F39\u7A97booleantrue
close-on-popstate\u662F\u5426\u5728\u9875\u9762\u56DE\u9000\u65F6\u81EA\u52A8\u5173\u95EDbooleantrue
close-on-click-overlay\u662F\u5426\u5728\u70B9\u51FB\u906E\u7F69\u5C42\u540E\u5173\u95EDbooleantrue
safe-area-inset-top\u662F\u5426\u5F00\u542F\u9876\u90E8\u5B89\u5168\u533A\u9002\u914Dbooleanfalse
safe-area-inset-bottom\u662F\u5426\u5F00\u542F\u5E95\u90E8\u5B89\u5168\u533A\u9002\u914Dbooleantrue
teleport\u6307\u5B9A\u6302\u8F7D\u7684\u8282\u70B9\uFF0C\u7B49\u540C\u4E8E Teleport \u7EC4\u4EF6\u7684 to \u5C5E\u6027string | Element-
\n

Calendar Range Props

\n

\u5F53 Calendar \u7684 type \u4E3A range \u65F6\uFF0C\u652F\u6301\u4EE5\u4E0B props:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
max-range\u65E5\u671F\u533A\u95F4\u6700\u591A\u53EF\u9009\u5929\u6570number | string\u65E0\u9650\u5236
range-prompt\u8303\u56F4\u9009\u62E9\u8D85\u8FC7\u6700\u591A\u53EF\u9009\u5929\u6570\u65F6\u7684\u63D0\u793A\u6587\u6848string\u6700\u591A\u9009\u62E9 xx \u5929
show-range-prompt\u8303\u56F4\u9009\u62E9\u8D85\u8FC7\u6700\u591A\u53EF\u9009\u5929\u6570\u65F6\uFF0C\u662F\u5426\u5C55\u793A\u63D0\u793A\u6587\u6848booleantrue
allow-same-day\u662F\u5426\u5141\u8BB8\u65E5\u671F\u8303\u56F4\u7684\u8D77\u6B62\u65F6\u95F4\u4E3A\u540C\u4E00\u5929booleanfalse
\n

Calendar Multiple Props

\n

\u5F53 Calendar \u7684 type \u4E3A multiple \u65F6\uFF0C\u652F\u6301\u4EE5\u4E0B props:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
max-range\u65E5\u671F\u6700\u591A\u53EF\u9009\u5929\u6570number | string\u65E0\u9650\u5236
range-prompt\u9009\u62E9\u8D85\u8FC7\u6700\u591A\u53EF\u9009\u5929\u6570\u65F6\u7684\u63D0\u793A\u6587\u6848string\u6700\u591A\u9009\u62E9 xx \u5929
\n

Day \u6570\u636E\u7ED3\u6784

\n

\u65E5\u5386\u4E2D\u7684\u6BCF\u4E2A\u65E5\u671F\u90FD\u5BF9\u5E94\u4E00\u4E2A Day \u5BF9\u8C61\uFF0C\u901A\u8FC7formatter\u5C5E\u6027\u53EF\u4EE5\u81EA\u5B9A\u4E49 Day \u5BF9\u8C61\u7684\u5185\u5BB9

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u952E\u540D\u8BF4\u660E\u7C7B\u578B
date\u65E5\u671F\u5BF9\u5E94\u7684 Date \u5BF9\u8C61Date
type\u65E5\u671F\u7C7B\u578B\uFF0C\u53EF\u9009\u503C\u4E3A selected\u3001start\u3001middle\u3001end\u3001disabledstring
text\u4E2D\u95F4\u663E\u793A\u7684\u6587\u5B57string
topInfo\u4E0A\u65B9\u7684\u63D0\u793A\u4FE1\u606Fstring
bottomInfo\u4E0B\u65B9\u7684\u63D0\u793A\u4FE1\u606Fstring
className\u989D\u5916\u7C7B\u540Dstring
\n

Events

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u4E8B\u4EF6\u540D\u8BF4\u660E\u56DE\u8C03\u53C2\u6570
select\u70B9\u51FB\u5E76\u9009\u4E2D\u4EFB\u610F\u65E5\u671F\u65F6\u89E6\u53D1value: Date | Date[]
confirm\u65E5\u671F\u9009\u62E9\u5B8C\u6210\u540E\u89E6\u53D1\uFF0C\u82E5 show-confirm \u4E3A true\uFF0C\u5219\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u540E\u89E6\u53D1value: Date | Date[]
open\u6253\u5F00\u5F39\u51FA\u5C42\u65F6\u89E6\u53D1-
close\u5173\u95ED\u5F39\u51FA\u5C42\u65F6\u89E6\u53D1-
opened\u6253\u5F00\u5F39\u51FA\u5C42\u4E14\u52A8\u753B\u7ED3\u675F\u540E\u89E6\u53D1-
closed\u5173\u95ED\u5F39\u51FA\u5C42\u4E14\u52A8\u753B\u7ED3\u675F\u540E\u89E6\u53D1-
unselect\u5F53\u65E5\u5386\u7EC4\u4EF6\u7684 type \u4E3A multiple \u65F6\uFF0C\u53D6\u6D88\u9009\u4E2D\u65E5\u671F\u65F6\u89E6\u53D1value: Date
month-show\u5F53\u67D0\u4E2A\u6708\u4EFD\u8FDB\u5165\u53EF\u89C6\u533A\u57DF\u65F6\u89E6\u53D1{ date: Date, title: string }
over-range\u8303\u56F4\u9009\u62E9\u8D85\u8FC7\u6700\u591A\u53EF\u9009\u5929\u6570\u65F6\u89E6\u53D1-
click-subtitle\u70B9\u51FB\u65E5\u5386\u526F\u6807\u9898\u65F6\u89E6\u53D1event: MouseEvent
click-disabled-date v4.7.0\u70B9\u51FB\u7981\u7528\u65E5\u671F\u65F6\u89E6\u53D1value: Date | Date[]
\n

Slots

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u540D\u79F0\u8BF4\u660E\u53C2\u6570
title\u81EA\u5B9A\u4E49\u6807\u9898-
subtitle\u81EA\u5B9A\u4E49\u65E5\u5386\u526F\u6807\u9898{ text: string, date?: Date }
month-title v4.0.9\u81EA\u5B9A\u4E49\u6BCF\u4E2A\u6708\u4EFD\u7684\u5C0F\u6807\u9898{ text: string, date: Date }
footer\u81EA\u5B9A\u4E49\u5E95\u90E8\u533A\u57DF\u5185\u5BB9-
confirm-text\u81EA\u5B9A\u4E49\u786E\u8BA4\u6309\u94AE\u7684\u5185\u5BB9{ disabled: boolean }
top-info\u81EA\u5B9A\u4E49\u65E5\u671F\u4E0A\u65B9\u7684\u63D0\u793A\u4FE1\u606Fday: Day
bottom-info\u81EA\u5B9A\u4E49\u65E5\u671F\u4E0B\u65B9\u7684\u63D0\u793A\u4FE1\u606Fday: Day
\n

\u65B9\u6CD5

\n

\u901A\u8FC7 ref \u53EF\u4EE5\u83B7\u53D6\u5230 Calendar \u5B9E\u4F8B\u5E76\u8C03\u7528\u5B9E\u4F8B\u65B9\u6CD5\uFF0C\u8BE6\u89C1\u7EC4\u4EF6\u5B9E\u4F8B\u65B9\u6CD5\u3002

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u65B9\u6CD5\u540D\u8BF4\u660E\u53C2\u6570\u8FD4\u56DE\u503C
reset\u5C06\u9009\u4E2D\u7684\u65E5\u671F\u91CD\u7F6E\u5230\u6307\u5B9A\u65E5\u671F\uFF0C\u672A\u4F20\u53C2\u65F6\u4F1A\u91CD\u7F6E\u5230\u9ED8\u8BA4\u65E5\u671Fdate?: Date | Date[]-
scrollToDate\u6EDA\u52A8\u5230\u67D0\u4E2A\u65E5\u671Fdate: Date-
getSelectedDate\u83B7\u53D6\u9009\u4E2D\u7684\u65E5\u671F-Date | Date[] | null
\n

\u7C7B\u578B\u5B9A\u4E49

\n

\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A

\n
import type {\n  CalendarType,\n  CalendarProps,\n  CalendarDayItem,\n  CalendarDayType,\n  CalendarInstance,\n} from 'vant';\n
\n

CalendarInstance \u662F\u7EC4\u4EF6\u5B9E\u4F8B\u7684\u7C7B\u578B\uFF0C\u7528\u6CD5\u5982\u4E0B\uFF1A

\n
import { ref } from 'vue';\nimport type { CalendarInstance } from 'vant';\n\nconst calendarRef = ref<CalendarInstance>();\n\ncalendarRef.value?.reset();\n
\n

\u4E3B\u9898\u5B9A\u5236

\n

\u6837\u5F0F\u53D8\u91CF

\n

\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u540D\u79F0\u9ED8\u8BA4\u503C\u63CF\u8FF0
--van-calendar-backgroundvar(--van-background-2)-
--van-calendar-popup-height80%-
--van-calendar-header-shadow0 2px 10px rgba(125, 126, 128, 0.16)-
--van-calendar-header-title-height44px-
--van-calendar-header-title-font-sizevar(--van-font-size-lg)-
--van-calendar-header-subtitle-font-sizevar(--van-font-size-md)-
--van-calendar-weekdays-height30px-
--van-calendar-weekdays-font-sizevar(--van-font-size-sm)-
--van-calendar-month-title-font-sizevar(--van-font-size-md)-
--van-calendar-month-mark-colorfade(var(--van-gray-2), 80%)-
--van-calendar-month-mark-font-size160px-
--van-calendar-day-height64px-
--van-calendar-day-font-sizevar(--van-font-size-lg)-
--van-calendar-day-margin-bottom4px-
--van-calendar-range-edge-colorvar(--van-white)-
--van-calendar-range-edge-backgroundvar(--van-primary-color)-
--van-calendar-range-middle-colorvar(--van-primary-color)-
--van-calendar-range-middle-background-opacity0.1-
--van-calendar-selected-day-size54px-
--van-calendar-selected-day-colorvar(--van-white)-
--van-calendar-info-font-sizevar(--van-font-size-xs)-
--van-calendar-info-line-heightvar(--van-line-height-xs)-
--van-calendar-selected-day-backgroundvar(--van-primary-color)-
--van-calendar-day-disabled-colorvar(--van-text-color-3)-
--van-calendar-confirm-button-height36px-
--van-calendar-confirm-button-margin7px 0-
\n

\u5E38\u89C1\u95EE\u9898

\n

\u5982\u4F55\u5728 formatter \u4E2D\u4F7F\u7528\u5F02\u6B65\u8FD4\u56DE\u7684\u6570\u636E\uFF1F

\n

\u5982\u679C\u9700\u8981\u5728 formatter \u4E2D\u4F7F\u7528\u5F02\u6B65\u8FD4\u56DE\u7684\u6570\u636E\uFF0C\u53EF\u4EE5\u4F7F\u7528\u8BA1\u7B97\u5C5E\u6027\u52A8\u6001\u521B\u5EFA formatter \u51FD\u6570\uFF0C\u793A\u4F8B\u5982\u4E0B\uFF1A

\n
const asyncData = ref();\n\nconst formatter = computed(() => {\n  if (!asyncData.value) {\n    return (day) => day;\n  }\n  return (day) => {\n    day.bottomInfo = asyncData.value;\n    return day;\n  };\n});\n\nsetTimeout(() => {\n  asyncData.value = '\u540E\u7AEF\u6587\u6848';\n}, 3000);\n
\n

\u5728 iOS \u7CFB\u7EDF\u4E0A\u521D\u59CB\u5316\u7EC4\u4EF6\u5931\u8D25\uFF1F

\n

\u5982\u679C\u4F60\u9047\u5230\u4E86\u5728 iOS \u4E0A\u65E0\u6CD5\u6E32\u67D3\u7EC4\u4EF6\u7684\u95EE\u9898\uFF0C\u8BF7\u786E\u8BA4\u5728\u521B\u5EFA Date \u5BF9\u8C61\u65F6\u6CA1\u6709\u4F7F\u7528new Date(\'2020-01-01\')\u8FD9\u6837\u7684\u5199\u6CD5\uFF0CiOS \u4E0D\u652F\u6301\u4EE5\u4E2D\u5212\u7EBF\u5206\u9694\u7684\u65E5\u671F\u683C\u5F0F\uFF0C\u6B63\u786E\u5199\u6CD5\u662Fnew Date(\'2020/01/01\')\u3002

\n

\u5BF9\u6B64\u95EE\u9898\u7684\u8BE6\u7EC6\u89E3\u91CA\uFF1Astackoverflow\u3002

\n
'},null,8,d))}}}]);