组件别名
<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
属性的值,并且值属性将设置为所选日期,格式为 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
将以无效样式设置输入,而将其设置为布尔值 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'
主题变体。您可以通过 selected-variant
属性将其更改为任何 Bootstrap v4 主题变体颜色:'secondary'
、'success'
、'danger'
、'warning'
、'info'
等。
默认情况下,当天日期也将使用与选定日期相同的变体(文本颜色)突出显示。要为当天日期指定不同的主题颜色,请使用 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
日期范围限制,则 Set Today
按钮可能不会将控件设置为今天的日期。如果它超出范围,它将设置为 min
或 max
(取决于哪个更接近今天的日期)。
使用下拉菜单属性 right
、dropup
、dropright
、dropleft
、no-flip
和 offset
来控制弹出日历的位置。
有关这些属性的效果和用法,请参阅 <b-dropdown>
定位部分。
v2.7.0+
默认情况下,当未选择日期时,打开日历视图时,将设置为当前月份(或如果今天的日期超出 min
或 max
的范围,则设置为 min
或 max
日期)。可以通过 initial-date
属性指定日期来更改此行为。初始日期属性将用于确定最初向用户显示的日历月份。它不会设置组件的值。
想要一个带有深色背景而不是浅色背景的弹出窗口吗?将 dark
属性设置为 true
以启用深色背景。
设置属性 show-decade-nav
以启用日期选择器的日期导航工具栏中的上一个和下一个十年按钮。
属性 label-prev-decade
和 label-next-decade
属性可用于为十年按钮提供自定义标签文本。
有关示例用法,请参阅下面的 国际化部分。
v2.7.0+
只想使用一个按钮来启动日期选择器对话框,或者想要提供你自己的可选文本输入字段?使用 button-only
属性将日期选择器渲染为下拉按钮。格式化的日期标签将使用类 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
属性控制按钮的大小,通过 button-variant
属性控制按钮变体。
v2.6.0+
若要更改组件内显示的日期文本的格式选项,例如在标题或占位符中,请将 date-format-options
属性设置为一个包含 Intl.DateTimeFormat
对象所需格式属性的对象(另请参见 国际化)。
<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 -->
下表总结了每个格式属性的有效选项
属性 | 可能的值 |
---|---|
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
始终会显示。如果你需要省略一个值,请将属性设置为 undefined
,尽管出于可访问性原因,强烈不建议这样做2.12.0+
日历星期名称标题格式默认为 'short'
,通常是星期名称的三字符缩写,尽管某些 语言环境 可能会覆盖此设置。可以通过属性 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
提供,但日历控件元素应用的标签除外(aria 标签、所选状态和帮助文本)。您必须为这些标签提供自己的翻译。可用的语言环境取决于浏览器(并非所有浏览器都支持所有语言环境)
默认情况下,<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 的边框和 flex 实用程序类,以及按钮 (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 | 字符串 | '上一年' | `Previous Year` 导航按钮的 `aria-label` 和 `title` 属性值 |
label-reset-button | 字符串 | '重置' | 可选的 `Reset` 按钮的内容 |
label-selected | 字符串 | 设置在已选日历网格日期按钮上的 `aria-label` 属性值 | |
label-today | 字符串 | '今天' | 日历网格日期按钮的 `aria-label` 属性值,表示该日期为今天的日期 |
label-today-button | 字符串 | '选择今天' | 可选的 `Select today` 按钮的内容 |
locale | Array 或 String | 日历使用的语言环境(或语言环境)。传递一个语言环境数组时,语言环境的顺序从最优到最差 | |
max | Date 或 String | 日历将显示的最大日期 | |
menu-class v2.6.0+ | Array 或 Object 或 String | 应用于弹出菜单包装器的类(或类) | |
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 | Number 或 String | 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 | Number 或 String | 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 | 为 v-model 返回 `Date` 对象,而不是 `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+ | 用于在本月/日导航按钮中放置自定义内容 |
事件 | 参数 | 描述 |
---|---|---|
context |
| `b-calendar` 上下文事件。当用户通过日期导航按钮或光标控制更改活动日期时发出 |
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)