element-ui时间组件同一个月内选择/30天内选择

element-ui时间组件同一个月内选择/30天内选择

同一个月

vue 复制代码
<el-date-picker v-model="time" type="datetimerange"
                                    range-separator="至" start-placeholder="开始时间"
                                    value-format="timestamp" :picker-options="pickerOptions"
                        end-placeholder="结束时间" @change="bizPayLog(1)">
                    </el-date-picker>


//写在data return
selectData:'',
          //日期选择范围在一个月内
          pickerOptions: {
            onPick: ({ maxDate, minDate }) => {
              this.selectData = minDate.getTime()
              if (maxDate) {
                // 选择了最大日期后,清除已选日期,解除限制。
                this.selectData = ''
              }
            },
            disabledDate: (time) => {
              // 是否禁用日期选择
              if (this.selectData) {
                let date = new Date(this.selectData)
                // true:不可以选择该日期;false:可以选择该日期。
                // 大于或者小于本月的日期被禁用
                return date.getMonth() > new Date(time).getMonth() || date.getMonth() < new Date(time).getMonth()
              } else {
                return false;
              }
            }
          },
  

30天以内

vue 复制代码
 pickerMinDate:'',
          //日期选择范围在一个月内
          pickerOptions: {
            onPick: ({ maxDate, minDate }) => {
              console.log(this.pickerMinDate,'this.pickerMinDate')
              this.pickerMinDate = minDate.getTime();
              if (maxDate) {
                this.pickerMinDate = '';
              }
            },
            disabledDate: time => {
              console.log(this.pickerMinDate,'this.pickerMinDate1')
              if (this.pickerMinDate !== "") {
                const day30 = (31 - 1) * 24 * 3600 * 1000;
                // 只选后30天,minTime不用加day30,只选前30天,maxTime不用加day30
                let maxTime = this.pickerMinDate + day30;
                let minTime = this.pickerMinDate - day30;
                if (maxTime > new Date()) {
                  maxTime = new Date();
                }
                return time.getTime() > maxTime || time.getTime() < minTime;
              }
              return time.getTime() > Date.now();
            }
            },
相关推荐
lemon_yyds1 小时前
Vue 项目嵌入 React H5 技术方案
vue.js·react.js
顽疲1 小时前
java springboot vue 养老系统源码详解:请假 care_leave 销假与床位停费日扣实践
java·vue.js·spring boot
szp20051 小时前
Cache API 会丢掉 URL 里的 #:我的 9 个模型分块一直写在同一条缓存上
javascript·浏览器
keyipatience2 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
xifangge20252 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
honkun63 小时前
vue 表格组件 vxe-table 修改滚动条样式,修改滚动条样式,统一宽度、颜色与自动隐藏
前端·javascript·vue.js
FRing033 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
171320330计算机毕设编程4 小时前
计算机毕业设计 基于springboot+vue的在线观鸟视频播放网站 LW PPT
java·大数据·vue.js·spring boot·算法·课程设计
大明二代4 小时前
从 RAG 到有记忆的 Agent:Mastra Memory 与 PostgreSQL 实战
前端·javascript·人工智能
小羊没烦恼!5 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#