Form-datepicker日期选择器

DatePicker 日期选择器:用于选择或输入日期

1、基本单位由type属性指定。type=date时

type:显示类型,默认date,year/month/date/dates(可以选择多个日期)/ week/datetime/datetimerange/daterange

  <el-date-picker
    v-model="value1"
    type="date"
    placeholder="选择日期">
  </el-date-picker>
  <script>
    new Vue({
      el: '#app',
      data() {
        return {
          value1: '',
        };
      }
    })
  </script>

1.1Picker Options对象

shortcuts:设置快捷选项,需要传入 { text, onClick } 对象;

disabledDate:设置禁用日期,传入函数 ,参数为当前日期,要求返回 Boolean,返回为true的日期即禁用

  <el-date-picker
    v-model="value2"
    type="date"
    placeholder="选择日期"
    :picker-options="pickerOptions1">
  </el-date-picker>
<script>
    new Vue({
      el: '#app',
      data() {
        return {
          pickerOptions1: {
            disabledDate(time) {
              return time.getTime() > Date.now();
            },
            shortcuts: [{
              text: '今天',
              onClick(picker) {
                picker.$emit('pick', new Date());
              }
            }, {
              text: '昨天',
              onClick(picker) {
                const date = new Date();
                date.setTime(date.getTime() - 3600 * 1000 * 24);
                picker.$emit('pick', date);
              }
            }, {
              text: '一周前',
              onClick(picker) {
                const date = new Date();
                date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
                picker.$emit('pick', date);
              }
            }]
          },
          value2: '',
        };
      }
    })
  </script>

 

2.1 选择日期范围,type=daterange

可在一个选择器中便捷地选择一个时间范围;在选择日期范围时,默认情况下左右面板会联动。

v-model绑定的默认时间格式要类似如下数组 

  <div class="block">
    <span class="demonstration">默认</span>
    <el-date-picker
      v-model="value6"
      type="daterange"
      range-separator="至"
      start-placeholder="开始日期"
      end-placeholder="结束日期">
    </el-date-picker>
  </div>
<script>
  new Vue({
    el: '#app',
    data() {
      return {
        value6: ''
      };
    }
  })
</script>

2.2 Picker Options选项

情景:最多查询31天的日期数据

change事件:用户确认选定的值时触发,组件绑定值。格式与绑定值一致,可受 value-format 控制。

onPick:选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效。

             参数1maxDate为后选的日期,一般为选中的较大日期,参数2minDate为先选的日期,一般为选中的较小日期,都是0点               时刻。形如:

disabledDate:参数为当前日期,且是0点时刻

  <el-date-picker
    v-model="time_interval"
    type="daterange"
    value-format="yyyy-MM-dd"
    range-separator="至"
    start-placeholder="开始日期"
    end-placeholder="结束日期"
    :picker-options="pickerOptions2"
    @change="getList()">
  </el-date-picker>
<script>
  new Vue({
    el: '#app',
    data() {
      return {
        time_interval: [],
        //选中的第一个时间,0点时刻的时间戳格式
        choiceDate: '',
        pickerOptions2: {
          shortcuts: [{
            text: '最近3天',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 2)
              picker.$emit('pick', [start, end])
            }
          }, {
            text: '最近7天',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 6)
              picker.$emit('pick', [start, end])
            }
          }, {
            text: '最近30天',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 29)
              picker.$emit('pick', [start, end])
            }
          }],
          onPick: ({ maxDate, minDate }) => {
            this.choiceDate = minDate.getTime()
            if (maxDate) {
              this.choiceDate = ''
            }
          },
          //最多只能查连续31天的数据,减30获取min值或加30获取max值都包含31天
          //这里的时间参数,以0点时刻的日期为单位
          disabledDate: time => {
            if (this.choiceDate) {
              const one = 30 * 24 * 3600 * 1000
              const minTime = this.choiceDate - one
              const maxTime =
                this.choiceDate + one > Date.now()
                  ? Date.now()
                  : this.choiceDate + one
              return time.getTime() < minTime || time.getTime() > maxTime
            } else {
              //没有选中第一个日期时
              return time.getTime() > Date.now()
            }
          }
        }
      };
    },
    methods: {
        getList(){
            alert('查询的时间参数发生改变,重新请求接口')
        }
    }
  })
</script>

3. 日期格式与绑定值格式
 format:指定输入框显示的格式;默认yyyy-MM-dd,可进行官网参考

 value-format:指定绑定值的格式。默认情况下,组件接受并返回Date对象。

  <div class="block">
    <span class="demonstration">默认为 Date 对象</span>
    <div class="demonstration">值:{{ value10 }}</div>
    <el-date-picker
      v-model="value10"
      type="date"
      placeholder="选择日期"
      format="yyyy 年 MM 月 dd 日">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">使用 value-format</span>
    <div class="demonstration">值:{{ value11 }}</div>
    <el-date-picker
      v-model="value11"
      type="date"
      placeholder="选择日期"
      format="yyyy 年 MM 月 dd 日"
      value-format="yyyy-MM-dd">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">时间戳</span>
    <div class="demonstration">值:{{ value12 }}</div>
    <el-date-picker
      v-model="value12"
      type="date"
      placeholder="选择日期"
      format="yyyy 年 MM 月 dd 日"
      value-format="timestamp">
    </el-date-picker>
  </div>

Attributes

参数说明类型可选值默认值
value / v-model绑定值date(DatePicker) / array(DateRangePicker)
clearable是否显示清除按钮booleantrue
size输入框尺寸stringlarge, small, mini
placeholder非范围选择时的占位内容string
start-placeholder范围选择时开始日期的占位内容string
end-placeholder范围选择时结束日期的占位内容string
type显示类型stringyear/month/date/dates/ week/datetime/datetimerange/daterangedate
format显示在输入框中的格式string日期格式yyyy-MM-dd
align对齐方式stringleft, center, rightleft
picker-options当前时间日期选择器特有的选项参考下表object{}
range-separator选择范围时的分隔符string'-'
default-value可选,选择器打开时默认显示的时间Date可被new Date()解析
default-time范围选择时选中日期所使用的当日内具体时刻string[]数组,长度为 2,每项值为字符串,形如12:00:00,第一项指定开始日期的时刻,第二项指定结束日期的时刻,不指定会使用时刻 00:00:00
value-format可选,绑定值的格式。不指定则绑定值为 Date 对象string日期格式

Picker Options

参数说明类型可选值默认值
shortcuts设置快捷选项,需要传入 { text, onClick } 对象用法参考 demo 或下表Object[]
disabledDate设置禁用状态,参数为当前日期,要求返回 BooleanFunction
onPick选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效Function({ maxDate, minDate })

Shortcuts

参数说明类型可选值默认值
text标题文本string
onClick选中后的回调函数,参数是 vm,可通过触发 'pick' 事件设置选择器的值。例如 vm.$emit('pick', new Date())function

Events

事件名称说明回调参数
change用户确认选定的值时触发组件绑定值。格式与绑定值一致,可受 value-format 控制
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bootstrap-datepicker是一个基于Bootstrap的日期选择器插件,它提供了丰富的日期选择和日期范围选择功能。要使用bootstrap-datepicker,需要按照以下步骤进行操作: 1. 在你的HTML文件中引入必需的CSS和JS文件。可以从官方网站下载最新版本的bootstrap-datepicker文件,或者使用CDN链接。例如: ```html <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> ``` 2. 在日期输入框元素上添加`data-provide="datepicker"`属性。例如: ```html <input type="text" class="form-control" data-provide="datepicker"> ``` 3. 使用JavaScript代码初始化日期选择器。例如: ```javascript $(document).ready(function() { $('[data-provide="datepicker"]').datepicker(); }); ``` 以上代码会将所有带有`data-provide="datepicker"`属性的输入框转换为日期选择器。 4. 可以通过在初始化代码中传递选项参数来自定义日期选择器的外观和功能。例如: ```javascript $(document).ready(function() { $('[data-provide="datepicker"]').datepicker({ format: 'yyyy-mm-dd', autoclose: true, todayBtn: 'linked', todayHighlight: true }); }); ``` 在上述代码中,`format`选项指定日期的格式,`autoclose`选项指定是否在选择日期后自动关闭日期选择器,`todayBtn`选项指定是否显示“今天”按钮,`todayHighlight`选项指定是否高亮显示当前日期。 这只是bootstrap-datepicker的基本使用方法,你可以根据需要进一步定制和扩展日期选择器的功能。更多详细的使用说明和选项参数,请参考bootstrap-datepicker的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值