前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >element-ui日期选择组件

element-ui日期选择组件

作者头像
用户4344670
发布2019-08-28 10:44:49
4.9K0
发布2019-08-28 10:44:49
举报
文章被收录于专栏:vue的实战vue的实战
el-date-picker 组件的引入

代码语言:javascript
复制
                       <el-date-picker
                          class="sd"
                          @change="change"
                          v-model="abc1"
                          type="daterange"
                          range-separator="~"
                          :start-placeholder="this.startText"
                          :end-placeholder="this.endText"
                          :picker-options="pickerOptions1"
                        ></el-date-picker>

  • @change : 为组件绑定选择日期确定之后的事件
  • v-model : 数据绑定,日期存在这里,例如(2019-01-02~2019-03-15),但是数据绑定仅仅是作为显示作用,真正的数据可以通过change事件来获得
  • type: 选择器的样式,daterange 同时出现两个月份
  • :start-placeholder: 绑定第一个选择器的默认提示语言 仅仅是没有选择的时候提示,选择了之后就不在显示
  • :end-placeholder: 绑定第二个选择器的默认提示语言
  • :range-separator="~" : 连接符号
  • :picker-options="pickerOptions1" : 限制条件

日期组件(默认当天之前可选).png


今天之前不能选择.png

限制条件
  • 实现今日之前可选
  • 实现选择的快捷建( 注意如何实现今天的前一天为截止日期)
代码语言:javascript
复制
     pickerOptions1: {

          disabledDate(time) {
     /// 不可选天数的设置
       // return time.getTime() >  new Date(new Date().toLocaleDateString()).getTime();  /// 今天之后不能选择
          // return time.getTime() > Date.now(); /// 今天之前不可选
          return time.getTime()   > new Date(new Date().toLocaleDateString()).getTime()-24*60*60*1000;  ///  今天的前一天开始不能选择 (比如今天30号,只能选择到29号,30号后面的都不能选择)

          },
          shortcuts: [{
            text: '最近一周',
            onClick(picker) {
              const end = new Date() ; //  结束的日期   new Date(new Date().toLocaleDateString()).getTime()-24*60*60*1000 (一直当今天的前一天)
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: '最近一个月',
            onClick(picker) {
              const end = new Date() ;
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: '最近三个月',
            onClick(picker) {
              const end =new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
              picker.$emit('pick', [start, end]);
            }
          }]
        },

  • 提示文字(start-placeholder end-placeholder) 和 选择日期显示的文字 (v-modal="timer")是不一样的。
  • 如果是要刷新之后清除当前的日期,那么 this.timer = null; 即可;亲测有效!
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • el-date-picker 组件的引入
  • 限制条件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档