当前位置: 首页 > news >正文

el-date-picker设置时间范围

下面这种写法会报错:找不到expirationDate,这是因为涉及到this的指向问题
在普通函数中,this 的上下文并不指向 Vue 组件实例,而是取决于函数的调用方式或者是否使用了严格模式

<el-date-pickerclass="date-icon-common"v-model="expireTime"type="date"value-format="yyyy-MM-dd HH:mm:ss"placeholder="选择日期":picker-options="pickerOptions">
</el-date-picker>
data() {return {expirationDate: '2024-06-30 00:00:00', // 到期时间pickerOptions: {disabledDate(date) {// 禁用过去日期if (date.getTime() < Date.now() - 8.64e7) {return true;}// 禁用期限日期之后的日期console.log('打印找不到this'this)const expirationDateTimestamp = new Date(this.expirationDate).getTime();if (date.getTime() > expirationDateTimestamp) {return true;}return false;}}}
}

✅两种改法
1️⃣使用箭头函数: 箭头函数不会创建自己的 this 上下文,而是从定义时的外层作用域继承 this。修改你的 disabledDate 方法为箭头函数可以解决这个问题,如下所示:

data() {return {expirationDate: '2024-06-30 00:00:00',pickerOptions: {disabledDate: (date) => {// 禁用过去日期if (date.getTime() < Date.now() - 8.64e7) {return true;}// 获取期限日期的时间戳const expirationDateTimestamp = new Date(this.expirationDate).getTime();// 禁用期限日期之后的日期if (date.getTime() > expirationDateTimestamp) {return true;}return false;}}};
}

2️⃣使用计算属性

data() {return {expirationDate: '2024-06-30 00:00:00'};
},
methods: {dateDisabled(date) {// 禁用过去日期if (date.getTime() < Date.now() - 8.64e7) {return true;}// 获取期限日期的时间戳const expirationDateTimestamp = new Date(this.expirationDate).getTime();// 禁用期限日期之后的日期if (date.getTime() > expirationDateTimestamp) {return true;}return false;}
},
computed: {pickerOptions() {return {disabledDate: this.dateDisabled};}
}
http://www.lryc.cn/news/385476.html

相关文章:

  • Links: Challenging Puzzle Game Template(益智游戏模板)
  • java基于ssm+jsp 仓库智能仓储系统
  • 第24篇 滑动开关控制LED<二>
  • Redis单例部署
  • HarmonyOS4升级到Harmonyos Next(Api 11)学习捷径
  • [电子电路学]电路分析基本概念1
  • Linux bash: /usr/local/gcc/bin/gcc: 不是目录
  • vue项目中,pnpm不能用-解决
  • 数据处理python
  • 【MotionCap】SLAHMR 在 Colab 的demo运行笔记
  • Qt-Advanced-Docking-System示例程序
  • 戴尔笔记本重装系统?笔记本卡顿失灵?一键重装系统!
  • ViewController 的常用跳转及返回方法
  • FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流
  • 探索AI的巅峰:详解GPT-3.5与GPT-4系列模型的区别
  • Linux-笔记 使用SCP命令传输文件报错 :IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
  • 计算机网络 静态路由及动态路由RIP
  • Django实现部门管理功能
  • 概率论与数理统计期末复习
  • python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击
  • 【实战教程】如何使用JMeter来轻松测试WebSocket接口?
  • 【linux】详解——库
  • RuntimeError: “exp_vml_cpu“ not implemented for ‘Half‘
  • JVM之双亲委派机制
  • Gemalto SafeNet Luna HSM服务器硬件监控指标解读
  • 计算机视觉与人工智能领域常用期刊和会议缩写
  • ONLYOFFICE桌面编辑器8.1版:个性化编辑和功能强化的全面升级
  • 用一个实例看如何分享大量照片 续篇二,关于Exif (Exchangeable Image File) - 可交换图像文件
  • 使用Python自动化收集和处理视频资源的教程
  • 字节数组输出流转换为Base64方法记录