vue2-element的el-date-picker实现开始时间-结束时间

格式要求:字符串YYYY/MM/DD HH24:MI:SS

 效果:

html部分:

<el-form-item label="配置时间">
  <el-date-picker
    v-model="form.createstarttime"
    type="datetime"
    start-placeholder="开始日期"
    placeholder="请输入开始日期"
    :picker-options="startPickerOptions"
    ></el-date-picker>
</el-form-item>
<el-form-item label="到">
    <el-date-picker
      v-model="form.createendtime"
      type="datetime"
      placeholder="请输入结束日期"
      :picker-options="endPickerOptions"
    ></el-date-picker>
</el-form-item>
<el-form-item >
    <el-button type="primary" @click="query">查询</el-button>
</el-form-item>

js部分: 

export default {
  data() {
    return {
        form:{	    
	        createstarttime:'',//配置开始时间
	        createendtime:'',//配置结束时间
        },
    }
  },
computed: {
    //限制:可选的开始时间小于结束时间
     startPickerOptions() {
      return {
        disabledDate: time => {
          if (this.form.createendtime) {
            return time.getTime() > this.form.createendtime.getTime();
          } else {
            return false;
          }
        }
      };
    },
    endPickerOptions() {
      return {
        disabledDate: time => {
          if (this.form.createstarttime) {
            return time.getTime() < this.form.createstarttime.getTime();
          } else {
            return false;
          }
        }
      };
    }
},
  methods: {
    //设置时间格式:YYYY/MM/DD HH24:MI:SS
    formateTime(time){
        console.log(time);
        const dateObj = new Date(time);
        const year = dateObj.getFullYear();
        const month = String(dateObj.getMonth() + 1).padStart(2, "0");
        const day = String(dateObj.getDate()).padStart(2, "0");
        const hours = String(dateObj.getHours()).padStart(2, "0");
        const minutes = String(dateObj.getMinutes()).padStart(2, "0");
        const seconds = String(dateObj.getSeconds()).padStart(2, "0");
        const formattedTime = `${year}/${month}/${day} ${hours}:${minutes}:${seconds}`;

        return formattedTime;
    },
    query(){
        //在查询前判断一下,不然会传NaN
        const formattedstartTime = this.form.createstarttime?                                    
               this.formateTime(this.form.createstarttime):'';
        const formattedendTime = this.form.createendtime? 
               this.formateTime(this.form.createendtime):'';

        //。。以下可以调接口传参了
    }
  }
}

结果: 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值