跳到主要内容
输入关键词开始搜索,↑ ↓ 选择,Enter 打开
没有找到匹配的文档

Bootstrap 6 日期选择器 Datepicker 用法

6.0 内置了日期选择器,基于 Vanilla Calendar Pro。给 input 加 data-bs-toggle 就能用,本文列出常用属性:日期范围、多选、双月视图、内联模式、弹层位置。

一句话结论

5.3 没有内置日期选择器,一般要引 flatpickr 之类的库;6.0 直接内置,底层是 Vanilla Calendar Pro。给一个文本框加 data-bs-toggle="datepicker" 就变成一个日期输入,不需要写初始化代码。

最小示例

<label for="birthday" class="form-label">生日</label>
<input type="text" class="form-control" id="birthday"
       data-bs-toggle="datepicker"
       autocomplete="off"
       placeholder="选择日期">

autocomplete="off" 建议保留,否则浏览器自带的日期补全会盖住弹层。

常用属性

属性取值作用
data-bs-date-min / data-bs-date-maxYYYY-MM-DD限制可选范围
data-bs-first-weekday0–6一周从哪天开始,0 是周日
data-bs-placementleft(默认)/ center / right / auto弹层相对输入框的位置
data-bs-inlinetrue不弹层,直接把日历渲染在页面里
data-bs-selection-modemultiple多选日期
data-bs-selected-dates逗号分隔的日期预设已选日期
data-bs-display-months-count数字一次显示几个月,配合范围选择用

组合示例:选一个区间做报表筛选。

<div class="d-flex gap-2 align-items-end">
  <div>
    <label for="from" class="form-label">开始</label>
    <input type="text" class="form-control" id="from"
           data-bs-toggle="datepicker" autocomplete="off"
           data-bs-date-min="2026-01-01">
  </div>
  <div>
    <label for="to" class="form-label">结束</label>
    <input type="text" class="form-control" id="to"
           data-bs-toggle="datepicker" autocomplete="off"
           data-bs-date-max="2026-12-31">
  </div>
</div>

和输入框装饰一起用

日历图标用表单装饰(form adorn)放在输入框里,图标放末尾时给包裹层加 .form-adorn-end,标记顺序不变,只改变视觉顺序:

<div class="form-control form-adorn form-adorn-end">
  <div class="form-adorn-icon">
    <svg class="bi" width="16" height="16"><use href="#calendar-week"></use></svg>
  </div>
  <input type="text" class="form-ghost" id="dateWithIcon"
         data-bs-toggle="datepicker" autocomplete="off" placeholder="选择日期">
</div>

常见坑