元件別名
<b-form-datepicker>
也可以透過以下別名使用
<b-datepicker>
注意:僅當匯入所有 BootstrapVue 或使用元件群組外掛程式時,元件別名才可用。
<b-form-datepicker>
是 BootstrapVue 自訂的日期選擇器輸入表單控制項,提供完整的 WAI-ARIA 相容性和國際化支援。
自 v2.5.0
起提供 BootstrapVue 使用
作為 <b-calendar>
元件的表單控制包裝元件,它提供額外的驗證狀態表示和精簡介面。原生 HTML5 日期輸入在呈現、易於存取性,以及在某些情況下各方面都不同,而且有些瀏覽器並不支援。 <b-form-datepicker>
提供跨所有瀏覽器平台和裝置的一致且易於存取的介面。
<template>
<div>
<label for="example-datepicker">Choose a date</label>
<b-form-datepicker id="example-datepicker" v-model="value" class="mb-2"></b-form-datepicker>
<p>Value: '{{ value }}'</p>
</div>
</template>
<script>
export default {
data() {
return {
value: ''
}
}
}
</script>
<!-- b-form-datepicker.vue -->
<b-form-datepicker>
支援 <b-calendar>
可用的許多屬性,以及 <b-dropdown>
可用的一些屬性。
v-model
返還值預設情況下, <b-form-datepicker>
以字串形式回傳 YYYY-MM-DD
格式的日期,這與原生瀏覽器 <input type="date">
控制項回傳的格式相同。您可以透過設定 value-as-date
屬性,讓 <b-form-datepicker>
回傳 Date
物件 (不含時間部分) 作為 v-model
值。
如果沒有選取日期, <b-form-datepicker>
回傳空的字串 ''
,如果設定 value-as-date
屬性,則回傳 null
。
請注意,當設定 value-as-date
時,傳回的 Date
物件會在瀏覽器的預設時區。
如果 <b-form-datepicker>
已為 name
道具設定一個值,將會產生一個隱藏的輸入資料,其 name 屬性設定為 name
道具的值,並且 value 屬性會設定為所選日期的 YYYY-MM-DD
字串。這樣可讓 <b-form-datepicker>
所選的值透過原生瀏覽器表單提交來提交。
設定 disabled
道具會移除 <b-form-datepicker>
元件的所有互動性。
設定 readonly
道具會停用選擇日期,但會保留元件的互動性,允許操作日期導覽。v-model
也不會在唯讀狀態更新。
如要停用特定日期或設定最小的和最大的日期限制,請參考 日期限制 區段。
<template>
<div>
<b-form-group
label="Select date picker interactive state"
v-slot="{ ariaDescribedby }"
>
<b-form-radio-group
v-model="state"
:aria-describedby="ariaDescribedby"
aria-controls="ex-disabled-readonly"
>
<b-form-radio value="disabled">Disabled</b-form-radio>
<b-form-radio value="readonly">Readonly</b-form-radio>
<b-form-radio value="normal">Normal</b-form-radio>
</b-form-radio-group>
</b-form-group>
<b-form-datepicker
id="ex-disabled-readonly"
:disabled="disabled"
:readonly="readonly"
></b-form-datepicker>
</div>
</template>
<script>
export default {
data() {
return {
state: 'disabled'
}
},
computed: {
disabled() {
return this.state === 'disabled'
},
readonly() {
return this.state === 'readonly'
}
}
}
</script>
<!-- b-form-datepicker-disabled-readonly.vue -->
利用 min
和 max
道具限制日曆範圍。道具會接受日期字串,其格式為 YYYY-MM-DD
,或是 Date
物件。
<template>
<div>
<b-form-datepicker v-model="value" :min="min" :max="max" locale="en"></b-form-datepicker>
</div>
</template>
<script>
export default {
data() {
const now = new Date()
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
// 15th two months prior
const minDate = new Date(today)
minDate.setMonth(minDate.getMonth() - 2)
minDate.setDate(15)
// 15th in two months
const maxDate = new Date(today)
maxDate.setMonth(maxDate.getMonth() + 2)
maxDate.setDate(15)
return {
value: '',
min: minDate,
max: maxDate
}
}
}
</script>
<!-- b-form-datepicker-min-max.vue -->
如果你需要在日期選擇器中停用特定的日期,請為 date-disabled-fn
道具指定一個函式參照。函式會傳遞兩個參數
ymd
日期,其格式為 YYYY-MM-DD
字串date
日期,其格式為 Date
物件該函式應該傳回 true
,如果日期 *不能* 被選取(已停用),或是 false
,如果日期 *可以* 被選取(已啟用)。請注意,該函式 **不能** 是非同步的,並且應盡快傳回一個值。
<template>
<div>
<b-form-datepicker v-model="value" :date-disabled-fn="dateDisabled" locale="en"></b-form-datepicker>
</div>
</template>
<script>
export default {
data() {
return {
value: ''
}
},
methods: {
dateDisabled(ymd, date) {
// Disable weekends (Sunday = `0`, Saturday = `6`) and
// disable days that fall on the 13th of the month
const weekday = date.getDay()
const day = date.getDate()
// Return `true` if the date should be disabled
return weekday === 0 || weekday === 6 || day === 13
}
}
}
</script>
<!-- b-form-datepicker-disabled-dates.vue -->
請注意,min
和 max
的日期限制會先被評估,然後再評估 date-disabled-fn
。
<b-form-datepicker>
支援使用布林 state
道具進行無效和有效的樣式設定。將 state
設定為布林值 false
會將輸入資料設為無效,而將 state
設定為布林值 true
會將輸入資料設為有效。將 state
設定為 null
就不會顯示任何驗證狀態樣式(預設)。
<template>
<div>
<label for="datepicker-invalid">Choose a date (invalid style)</label>
<b-form-datepicker id="datepicker-invalid" :state="false" class="mb-2"></b-form-datepicker>
<label for="datepicker-valid">Choose a date (valid style)</label>
<b-form-datepicker id="datepicker-valid" :state="true"></b-form-datepicker>
</div>
</template>
<!-- b-form-datepicker-invalid-valid.vue -->
請注意,原生瀏覽器驗證 **不適用於** <b-form-datepicker>
。
預設選取日期按鈕 (背景色) 為 'primary'
主題變體。你可以使用任一 Bootstrap v4 主題變體色: 'secondary'
、'success'
、'danger'
、'warning'
、'info'
,透過 selected-variant
屬性。
預設使用與選取日期相同的變體來凸顯 (文字顏色) 今日日期。如要為今日日期指定不同的主題色,請使用 today-variant
屬性。
若要完全停用今日日期的凸顯,請設定 no-highlight-today
屬性。
預設導覽按鈕為 'secondary'
主題變體。你可以透過 nav-button-variant
屬性來變更。
希望有較小或較大的 <b-form-datepicker>
控制嗎?請將 size
屬性設定為 'sm'
以使用較小的表單控制,或 'lg'
以使用較大的表單控制。請注意,這不會影響彈出式日曆對話方塊的大小。
<template>
<div>
<label for="datepicker-sm">Small date picker</label>
<b-form-datepicker id="datepicker-sm" size="sm" locale="en" class="mb-2"></b-form-datepicker>
<label for="datepicker-lg">Large date picker</label>
<b-form-datepicker id="datepicker-lg" size="lg" locale="en"></b-form-datepicker>
</div>
</template>
<!-- b-form-datepicker-sizes.vue -->
在未選取日期時,可使用 placeholder
屬性為控制項加入自訂提示文字。如果未提供提示文字,則會使用 label-no-date-selected
屬性的值。
<template>
<div>
<label for="datepicker-placeholder">Date picker with placeholder</label>
<b-form-datepicker id="datepicker-placeholder" placeholder="Choose a date" locale="en"></b-form-datepicker>
</div>
</template>
<!-- b-form-datepicker-placeholder.vue -->
透過下列屬性在日曆彈出視窗的底部新增選用控制按鈕 today-button
、reset-button
與 close-button
。
reset-value
的值 (如果已提供)預設情況下,按一下今日或重設按鈕也會關閉日曆彈出視窗,除非已設定 no-close-on-select
屬性。
<template>
<div>
<label for="datepicker-buttons">Date picker with optional footer buttons</label>
<b-form-datepicker
id="datepicker-buttons"
today-button
reset-button
close-button
locale="en"
></b-form-datepicker>
</div>
</template>
<!-- b-form-datepicker-buttons.vue -->
可透過 label-today-button
、label-reset-button
及 label-close-button
屬性設定選用按鈕的文字。建議保持這些標籤簡短,因為底部區段的寬度有限。
請注意,如果今日日期超出 min
或 max
日期範圍限制,則 設定今日
按鈕可能無法將控制項設定為今日日期。如果超出範圍,它會設定為 min
或 max
(取決於哪個較接近今日日期)。
使用下列下拉式選單屬性來控制彈出式日曆的位置:right
、dropup
、dropright
、dropleft
、no-flip
及 offset
。
請參考 <b-dropdown>
定位區段 以取得這些屬性效果及用法的詳細資訊。
v2.7.0+
預設情況下,當沒有選取日期時,在開啟時,日曆檢視將會設為目前月份(或 min
或 max
日期,如果今天的日期超出 min
或 max
的範圍時)。你可以藉由指定一個日期,透過 initial-date
prop,來變更這個 behavior。初始日期的 prop 將用來決定一開始要呈現在使用者眼前的日曆月份。它不會設定元件的值。
想要一個奇特的快顯視窗,背景為深色,而不是淺色嗎?將 dark
prop 設為 true
,以啟用深色背景。
將 prop show-decade-nav
設為 true
,在日期選擇器的日期導覽工具列中,就能啟用上一個和下一個十年的按鈕。
prop label-prev-decade
和 label-next-decade
可用來為十年按鈕提供自訂標籤文字。
若想看範例用法,請參閱以下的 國際化 區塊。
v2.7.0+
幻想只是一個按鈕,開啟日期選擇器對話方塊,或想提供你自訂的文字輸入欄位嗎?使用 button-only
prop,將日期選擇器呈現在下拉式按鈕中。格式化的日期標籤將使用 sr-only
類別(僅供螢幕閱讀程式使用)來呈現。
在以下的簡單範例中,我們將日期選擇器(僅按鈕模式)置於 <b-input-group>
的附加項,而且我們將使用 context
事件取得格式化的日期字串和值
<template>
<div>
<label for="example-input">Choose a date</label>
<b-input-group class="mb-3">
<b-form-input
id="example-input"
v-model="value"
type="text"
placeholder="YYYY-MM-DD"
autocomplete="off"
></b-form-input>
<b-input-group-append>
<b-form-datepicker
v-model="value"
button-only
right
locale="en-US"
aria-controls="example-input"
@context="onContext"
></b-form-datepicker>
</b-input-group-append>
</b-input-group>
<p class="mb-1">Value: '{{ value }}'</p>
<p class="mb-1">Selected: '{{ selected }}'</p>
<p>Formatted: '{{ formatted }}'</p>
</div>
</template>
<script>
export default {
data() {
return {
value: '',
formatted: '',
selected: ''
}
},
methods: {
onContext(ctx) {
// The date formatted in the locale, or the `label-no-date-selected` string
this.formatted = ctx.selectedFormatted
// The following will be an empty string until a valid date is entered
this.selected = ctx.selectedYMD
}
}
}
</script>
<!-- b-form-datepicker-button-only.vue -->
透過 size
prop 來控制按鈕的大小,透過 button-variant
prop 來控制按鈕變異。
v2.6.0+
若想變更元件中顯示日期文字的格式選項,例如標頭或 placeholder,將 date-format-options
prop 設為一個物件,其中包含對 Intl.DateTimeFormat
物件要求的格式 properties(請參閱 國際化)。
<template>
<div>
<label for="datepicker-dateformat1">Custom date format</label>
<b-form-datepicker
id="datepicker-dateformat1"
:date-format-options="{ year: 'numeric', month: 'short', day: '2-digit', weekday: 'short' }"
locale="en"
></b-form-datepicker>
<label class="mt-3" for="datepicker-dateformat2">Short date format</label>
<b-form-datepicker
id="datepicker-dateformat2"
:date-format-options="{ year: 'numeric', month: 'numeric', day: 'numeric' }"
locale="en"
></b-form-datepicker>
</div>
</template>
<!-- b-form-datepicker-dateformat.vue -->
下表總結了每個格式 property 的有效選項
屬性 | 可能的數值 |
---|---|
year | 'numeric' ,或 '2-digit' |
month | 'numeric' , '2-digit' , 'long' , 'short' ,或 'narrow' |
day | 'numeric' ,或 '2-digit' |
weekday | 'long' , 'short' ,或 'narrow' |
注意事項
weekday
'narrow'
格式,而且會回歸到 'short'
或 long'
(如果沒有 'short'
)year
, month
和 day
務必會顯示。如果你需要遺漏一個數值,將 property 設為 undefined
,儘管由於易用性理由強烈不鼓勵這麼做2.12.0+
日曆星期名稱標頭格式預設為 'short'
,通常是星期名稱的 3 個字元縮寫,儘管有些 當地語言設定 可能覆寫它。此格式可透過道具 weekday-header-format
來控制並接受下列三個值之一
'long'
完整的星期名稱(例如 星期二)。在使用完整寬度的日曆時很方便。請避免與預設日曆寬度一起使用。'short'
通常是星期名稱的 2 或 3 個字母縮寫,視選取的當地語言設定而定(例如「週二」)。'narrow'
通常是單字元縮寫(例如 T)。在某些當地語言設定中,兩個星期可能具有相同的窄式樣式(例如星期二和星期四的窄式樣式都是 T)。對於不支援 'short'
格式的當地語言設定(例如當地語言設定 'ar'
和 'fa'
)來說,這可能會很方便。2.12.0+
若要變更日曆的日期導覽按鈕內容,BootstrapVue 會為每個按鈕提供範圍限定插槽
'nav-prev-decade'
'nav-prev-year'
'nav-prev-month'
'nav-this-month'
(前往選取/今天按鈕)'nav-next-month'
'nav-next-year'
'nav-next-decade'
所有七個插槽都具有相同的可用範圍限定屬性
屬性 | 類型 | 說明 |
---|---|---|
isRTL | 布林值 | 當日期導覽列從右到左呈現地,將為 true |
可以將 isRTL
作用域屬性用於「反轉」前一個按鈕與下一個按鈕的內容,以處理從左到右到從右到左的方位變化 — 也就是說,當 isRTL
為 true
時,前一年按鈕會在右側,而不是在左側。
若要建立全寬度日曆下拉選單(其寬度與輸入寬度相符),只需將 menu-class
道具設定為 'w-100'
,並將 calendar-width
道具設定為 '100%'
<template>
<div>
<label for="datepicker-full-width">Choose a date</label>
<b-form-datepicker
id="datepicker-full-width"
v-model="value"
menu-class="w-100"
calendar-width="100%"
class="mb-2"
></b-form-datepicker>
<p>Value: '{{ value }}'</p>
</div>
</template>
<script>
export default {
data() {
return {
value: ''
}
}
}
</script>
<!-- b-form-datepicker-full-width.vue -->
日期選擇器的日曆國際化是透過 Intl.DateTimeFormat
提供的,但日曆控制元件元件套用的標籤(無障礙標籤、選取狀態和說明文字)除外。必須為這些標籤提供自己的翻譯。可用的當地語言設定會根據瀏覽器而定(並非所有瀏覽器都支援所有當地語言設定)
預設情況下,<b-form-datepicker>
會使用瀏覽器的預設當地語言設定,但你可以透過 locale
道具指定要使用的當地語言設定(或當地語言設定)。道具接受單一當地語言設定字串或當地語言設定字串陣列(以偏好的當地語言設定順序列出)。
日曆從星期天開始該週。可透過設定 start-weekday
道具為範圍 0
到 6
中的數字來變更。其中 0
代表星期日、1
代表星期一,直到 6
代表星期六。
<template>
<div>
<label for="example-locales">Locale:</label>
<b-form-select id="example-locales" v-model="locale" :options="locales" class="mb-2"></b-form-select>
<label for="example-weekdays">Start weekday:</label>
<b-form-select id="example-weekdays" v-model="weekday" :options="weekdays" class="mb-2"></b-form-select>
<div>
<b-form-checkbox v-model="showDecadeNav" switch inline class="my-2">
Show decade navigation buttons
</b-form-checkbox>
<b-form-checkbox v-model="hideHeader" switch inline class="my-2">
Hide calendar header
</b-form-checkbox>
</div>
<label for="example-i18n-picker">Date picker:</label>
<b-form-datepicker
id="example-i18n-picker"
v-model="value"
v-bind="labels[locale] || {}"
:locale="locale"
:start-weekday="weekday"
:show-decade-nav="showDecadeNav"
:hide-header="hideHeader"
class="mb-2"
></b-form-datepicker>
<p>Value: <b>'{{ value }}'</b></p>
</div>
</template>
<script>
export default {
data() {
return {
value: '',
locale: 'en-US',
showDecadeNav: false,
hideHeader: false,
locales: [
{ value: 'en-US', text: 'English US (en-US)' },
{ value: 'de', text: 'German (de)' },
{ value: 'ar-EG', text: 'Arabic Egyptian (ar-EG)' },
{ value: 'zh', text: 'Chinese (zh)' }
],
weekday: 0,
weekdays: [
{ value: 0, text: 'Sunday' },
{ value: 1, text: 'Monday' },
{ value: 6, text: 'Saturday' }
],
labels: {
de: {
labelPrevDecade: 'Vorheriges Jahrzehnt',
labelPrevYear: 'Vorheriges Jahr',
labelPrevMonth: 'Vorheriger Monat',
labelCurrentMonth: 'Aktueller Monat',
labelNextMonth: 'Nächster Monat',
labelNextYear: 'Nächstes Jahr',
labelNextDecade: 'Nächstes Jahrzehnt',
labelToday: 'Heute',
labelSelected: 'Ausgewähltes Datum',
labelNoDateSelected: 'Kein Datum gewählt',
labelCalendar: 'Kalender',
labelNav: 'Kalendernavigation',
labelHelp: 'Mit den Pfeiltasten durch den Kalender navigieren'
},
'ar-EG': {
weekdayHeaderFormat: 'narrow',
labelPrevDecade: 'العقد السابق',
labelPrevYear: 'العام السابق',
labelPrevMonth: 'الشهر السابق',
labelCurrentMonth: 'الشهر الحالي',
labelNextMonth: 'الشهر المقبل',
labelNextYear: 'العام المقبل',
labelNextDecade: 'العقد القادم',
labelToday: 'اليوم',
labelSelected: 'التاريخ المحدد',
labelNoDateSelected: 'لم يتم اختيار تاريخ',
labelCalendar: 'التقويم',
labelNav: 'الملاحة التقويم',
labelHelp: 'استخدم مفاتيح المؤشر للتنقل في التواريخ'
},
zh: {
weekdayHeaderFormat: 'narrow',
labelPrevDecade: '过去十年',
labelPrevYear: '上一年',
labelPrevMonth: '上个月',
labelCurrentMonth: '当前月份',
labelNextMonth: '下个月',
labelNextYear: '明年',
labelNextDecade: '下一个十年',
labelToday: '今天',
labelSelected: '选定日期',
labelNoDateSelected: '未选择日期',
labelCalendar: '日历',
labelNav: '日历导航',
labelHelp: '使用光标键浏览日期'
}
}
}
}
}
</script>
<!-- b-form-datepicker-i18n.vue -->
可以監聽 context
事件來判斷日曆已解析為哪些當地語言設定和方向性。
請參閱 <b-calendar>
文件以取得更多詳細資訊。
彈出式日曆支援相同 <b-calendar>
的 鍵盤控制項,以及以下
將日期選擇器國際化時,請務必同時用適當的翻譯字串更新 label-*
個別屬性,這樣國際螢幕朗讀機使用者才能聽見正確的提示和說明。
請參閱 <b-calendar>
文件以取得更多詳細資訊。
<b-form-datepicker>
是基於元件 <b-calendar>
和 <b-dropdown>
。
<b-form-datepicker>
使用 Bootstrap 的邊框和彈性公用程式類別,以及按鈕 (btn-*
) 類別、下拉清單 (dropdown*
) 類別,以及 form-control*
(加上驗證) 類別。BootstrapVue 的自訂 SCSS/CSS 也是正確設定日期選擇器和日曆樣式所必需的。
<b-form-datepicker>
元件別名<b-form-datepicker>
屬性<b-form-datepicker>
v-model<b-form-datepicker>
插槽<b-form-datepicker>
事件<b-form-datepicker>
也可以透過以下別名使用
<b-datepicker>
注意:僅當匯入所有 BootstrapVue 或使用元件群組外掛程式時,元件別名才可用。
所有屬性的預設值都可 全域設定。
屬性 (按一下以遞增排序) | 類型 (按一下以遞增排序) | 預設值 | 說明 |
---|---|---|---|
aria-controls | 字串 | 如果此元件控制另一個元件或元素,請將其設為受控制元件或元素的 ID | |
boundary | HTMLElement 或 String | 'scrollParent' | 選單的邊界約束:`'scrollParent'`, `'window'`, `'viewport'`, 或對應 `HTMLElement` 的參考 |
button-only v2.7.0+ | 布林值 | false | 將日期選擇器顯示成下拉按鈕,而不是表單控制項 |
button-variant v2.7.0+ | 字串 | 'secondary' | 當處於 `button-only` 模式時,要使用的按鈕變體。如果沒有設定 `button-only` 屬性,則無作用 |
calendar-width v2.6.0+ | 字串 | '270px' | 設定日曆下拉寬度(關於詳細資訊,請參閱 `b-calendar` 屬性 `width`) |
close-button | 布林值 | false | 設定後,顯示選用關閉按鈕 |
close-button-variant | 字串 | 'outline-secondary' | 可選 `close` 按鈕要使用的按鈕變體 |
dark | 布林值 | false | 設定後,會讓彈出式日曆對話框具有深色背景 |
date-disabled-fn | 函式 | 設定為傳回 `true`(日期已停用),或 `false`(日期應啟用)的函式參照。關於詳細資訊,請參閱文件說明 | |
date-format-options v2.6.0+ | 物件 | { 'year': 'numeric', 'month': 'long', 'day': 'numeric', 'weekday': 'long' } | 傳遞給 `Intl.DateTimeFormat` 的顯示文字字串的格式物件 |
date-info-fn v2.12.0+ | 函式 | 設定為傳回類別(字串)或類別(字串陣列)以套用至日期儲存格的函式參照。關於詳細資訊,請參閱日曆文件說明。傳遞至子日曆元件 | |
direction | 字串 | 將字串設定為 'rtl' 或 'ltr',以明確強制日曆以右對左或左對右(順序)模式顯示。預設為解析出的語言環境的方向性 | |
disabled | 布林值 | false | 將日曆設定為不可互動的停用狀態 |
dropleft | 布林值 | false | 設定後,將選單定位在按鈕左側 |
dropright | 布林值 | false | 設定後,將選單定位在按鈕右側 |
dropup | 布林值 | false | 設定後,將選單定位在按鈕上方 |
form | 字串 | 表單控制項所屬的表單 ID。設定控制項上的 `form` 屬性 | |
header-tag | 字串 | 'header' | 指定要顯示的 HTML 標籤,而不是標頭的預設標籤 |
hide-header | 布林值 | false | 當設為 `true` 時,會隱藏選取的日期標頭 |
id | 字串 | 用於設定已顯示的內容上的 `id` 屬性,並用於當有需要時產生任何其他元素 ID 作為基礎 | |
initial-date v2.7.0+ | Date 或 String | 當未指定 `value` 時,設定會顯示給使用者的初始日曆月份日期。接受 `YYYY-MM-DD` 格式的值或 `Date` 物件。預設為目前日期(或最小值或最大值,如果目前日期超出範圍) | |
label-calendar | 字串 | 'Calendar' | 套用至日曆格線的 `aria-label` 和 `role-description` 屬性的值 |
label-close-button | 字串 | 'Close' | 選用 `Close` 按鈕的內容 |
label-current-month | 字串 | 'Current month' | `Current Month` 導航按鈕上 `aria-label` 和 `title` 屬性的值 |
label-help | 字串 | 'Use cursor keys to navigate calendar dates' | 顯示於日曆格線底部的提示文字 |
label-nav | 字串 | 'Calendar navigation' | 日曆導航按鈕包裝器上的 `aria-label` 屬性的值 |
label-next-decade v2.11.0+ | 字串 | 'Next decade' | 選用 `Next Decade` 導航按鈕上 `aria-label` 和 `title` 屬性的值 |
label-next-month | 字串 | 'Next month' | `Next Month` 導航按鈕上 `aria-label` 和 `title` 屬性的值 |
label-next-year | 字串 | 'Next year' | `Next Year` 導航按鈕上 `aria-label` 和 `title` 屬性的值 |
label-no-date-selected | 字串 | 'No date selected' | 當目前未選取日期時要使用的標籤 |
label-prev-decade v2.11.0+ | 字串 | 'Previous decade' | 選用 `Previous Decade` 導航按鈕上 `aria-label` 和 `title` 屬性的值 |
label-prev-month | 字串 | 'Previous month' | 導覽按鈕「上個月」的 `aria-label` 和 `title` 屬性的值 |
label-prev-year | 字串 | '上一年' | 導覽按鈕「上一年」的 `aria-label` 和 `title` 屬性的值 |
label-reset-button | 字串 | '重設' | 選用按鈕「重設」的內容 |
label-selected | 字串 | 已選取的日曆網格日期按鈕的 `aria-label` 屬性設定值 | |
label-today | 字串 | '今天' | 日曆網格日期按鈕的 `aria-label` 屬性值,表示日期為今日 |
label-today-button | 字串 | '選擇今天' | 選用按鈕「選擇今天」的內容 |
locale | 陣列 或 字串 | 日曆使用的區域設定 (或多個區域設定)。傳遞多個區域設定時,區域設定順序是由最優先到優先度最低 | |
max | Date 或 String | 日曆將顯示的最大日期 | |
menu-class v2.6.0+ | 陣列 或 物件 或 字串 | 套用至彈出式功能表外框的類別 (或多個類別) | |
min | Date 或 String | 日曆將顯示的最小日期 | |
name | 字串 | 設定表單控制項上 `name` 屬性的值 | |
nav-button-variant v2.17.0+ | 字串 | 'secondary' | 導覽按鈕使用的主題色彩變數 |
no-close-on-select | 布林值 | false | 在按一下/選取日期時,停用關閉彈出式日期選擇器 |
no-flip | 布林值 | false | 防止功能表自動反轉位置 |
no-highlight-today | 布林值 | false | 停用日曆中今日日期的重點標示 |
offset | 數字 或 字串 | 0 | 指定要移動功能表的像素數目。支援負值 |
placeholder | 字串 | 當未選取日期時顯示於表單控制項中的文字。預設為 `label-no-date-selected` 屬性的值 | |
popper-opts | 物件 | {} | 傳遞至 Popper.js 的額外設定 |
readonly | 布林值 | false | 將日曆設置為互動的唯讀狀態。停用更新 v-model,但仍允許日期導覽 |
required | 布林值 | false | 設定時,元件上會新增 `aria-required="true"` 屬性。驗證必需由您的應用程式處理 |
reset-button | 布林值 | false | 設定時,將顯示選用按鈕「reset」 |
reset-button-variant | 字串 | 'outline-danger' | 選用按鈕「reset」使用的按鈕變數 |
reset-value | Date 或 String | 按一下選用按鈕「reset」時,所選日期將會設定為此值。預設為清除所選值 | |
right | 布林值 | false | 將功能表的右緣與按鈕的右緣對齊 |
selected-variant | 字串 | 'primary' | 選取日期按鈕使用的主題色彩變數 |
show-decade-nav v2.11.0+ | 布林值 | false | 如果為 `true`,則會顯示 +/- 十年導覽按鈕 |
size | 字串 | 設定元件外觀的大小。'sm'、'md' (預設) 或 'lg' | |
start-weekday | 數字 或 字串 | 0 | 開始日曆的星期。週日為 `0`、週一為 `1`、週六為 `6` 等 |
state | 布林值 | null | 控制元件的驗證狀態外觀。正確為 `true`、不正確為 `false` 或無驗證狀態為 `null` |
today-button | 布林值 | false | 設定時,將顯示選用按鈕「select today」 |
today-button-variant | 字串 | 'outline-primary' | 選用按鈕「select today」使用的按鈕變數 |
today-variant | 字串 | 用於重點標示今日日期按鈕的主題色彩變數。預設為 `selectedVariant` 屬性 | |
value v-model | Date 或 String | 最初選取的日期值。接受 `YYYY-MM-DD` 字串或 `Date` 物件 | |
value-as-date | 布林值 | false | 傳回 `Date` 物件給 v-model,而非 `YYYY-MM-DD` 字串 |
weekday-header-format v2.12.0+ | 字串 | 'short' | 用於週曆星期抬頭格式。可能的數值為 `long`、`short` (預設值) 或 `narrow` |
v-model
屬性 | 事件 |
---|---|
value | input |
名稱 | 範圍 | 說明 |
---|---|---|
button-content v2.6.0+ | 放置於日期選擇器圖示按鈕中的內容 | |
nav-next-decade v2.12.0+ | 用於在下一十年導覽按鈕中放置自訂內容 | |
nav-next-month v2.12.0+ | 用於在下一個月導覽按鈕中放置自訂內容 | |
nav-next-year v2.12.0+ | 用於在下一年導覽按鈕中放置自訂內容 | |
nav-prev-decade v2.12.0+ | 用於在上一個十年導覽按鈕中放置自訂內容 | |
nav-prev-month v2.12.0+ | 用於在上一個月導覽按鈕中放置自訂內容 | |
nav-prev-year v2.12.0+ | 用於在上一年導覽按鈕中放置自訂內容 | |
nav-this-month v2.12.0+ | 用於在這個月/日導覽按鈕中放置自訂內容 |
事件 | 引數 | 說明 |
---|---|---|
content |
| `b-calendar` content 事件。當使用者透過日期導覽按鈕或游標控制變更活動日期時發出 |
hidden v2.9.0+ | 當選取器快顯隱藏時發出 | |
input |
| 更新 v-model 時發出 |
shown v2.9.0+ | 當選取器快顯顯示時發出 |
你可以透過下列命名匯出,匯入個別元件至專案
元件 | 命名匯出 | 匯入路徑 |
---|---|---|
<b-form-datepicker> | BFormDatepicker | bootstrap-vue |
範例
import { BFormDatepicker } from 'bootstrap-vue' Vue.component('b-form-datepicker', BFormDatepicker)
此外掛包含上述所有個別元件. 外掛也包含任何元件別名。
命名匯出 | 匯入路徑 |
---|---|
FormDatepickerPlugin | bootstrap-vue |
範例
import { FormDatepickerPlugin } from 'bootstrap-vue' Vue.use(FormDatepickerPlugin)