ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

el-date-picker设置可选范围picker-options需要注意的事项,要不然可能会报undefined的错误

2021-01-28 18:34:01  阅读:1189  来源: 互联网

标签:picker el return getTime 会报 startTime time Date endTime


1、首先来看看官网的例子

<template>
  <div class="block">
    <el-date-picker
      v-model="value1"
      align="right"
      type="date"
      placeholder="选择日期"
      :picker-options="pickerOptions">
    </el-date-picker>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        pickerOptions: {
          disabledDate(time) {
            return time.getTime() > Date.now();
          },
        },
        value1: '',
      };
    }
  };
</script>

2、如果是引用其他数据来做限制的话,就需要稍微改变一下

<script>
  export default {
    data() {
      return {
        pickerOptions: {
          disabledDate:(time)=> {
            return time.getTime() < this.startTime.getTime()||time.getTime()>this.endTime.getTime();
          },
        },
        value1: '',
        startTime:new Date(),
        endTime:new Date(),
      };
    }
  };
</script>        

3、错误重现

(1)

<script>
  export default {
    data() {
      return {
        pickerOptions: {
          disabledDate(time) {
            return time.getTime() < this.startTime.getTime()||time.getTime()>this.endTime.getTime();
          },
        },
        value1: '',
        startTime:new Date(),
        endTime:new Date(),
      };
    }
  };
</script>    

上图错误

[Vue warn]: Error in render: "TypeError: Cannot read property 'startTime' of undefined"

(2)

<script>
  export default {
    data() {
      return {
        pickerOptions: {
          disabledDate(time) {
            return time.getTime() < startTime.getTime()||time.getTime()>endTime.getTime();
          },
        },
        value1: '',
        startTime:new Date(),
        endTime:new Date(),
      };
    }
  };
</script> 

上图错误[Vue warn]: Error in render: "ReferenceError: startTime is not defined"

 

4、所以

(1)

pickerOptions: {
          disabledDate(time) {
            return time.getTime() > Date.now();
          },
        },

这种形式适合不引用其他定义的数据。

(2)

 pickerOptions: {
          disabledDate:(time)=> {
            return time.getTime() < this.startTime.getTime()||time.getTime()>this.endTime.getTime();
          },
        },

需要引用定义的数据的话用这种形式。

 

标签:picker,el,return,getTime,会报,startTime,time,Date,endTime
来源: https://www.cnblogs.com/pzw23/p/14341404.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有