element 的时间控件,有关v-model,:picker-options,@change

在使用Element的时间控件时遇到问题,通过v-model直接绑定值在选择时间后未出现在formData中,解决方法是在组件上添加@change事件。此外,为实现开始时间必须小于结束时间的需求,利用:picker-options属性进行配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、我直接用v-model="seachObj.beginTime",选择时间后选上了,但是传给接口 看控制台headers里的form data的时候竟然没有beginTime

解决方法是:@change="dateChangeBeginTime"

dateChangeBeginTime(val) {
    console.log(val);
    let self = this;
    self.seachObj.beginTime=val;

},

这样就可以了解决form data的竟然没有beginTime了

 

2、需求是

 

选开始时间后,结束时间必须必开始时间大;

这就用到:picker-options了

htlm

提出日期:<el-date-picker type="date" placeholder="选择开始日期" 
            v-model="seachObj.beginTime" style="width: 40%;" 
            :picker-options="startDatePicker"
             @change="dateChangeBeginTime"></el-date-picker>
至
<el-date-picker type="date" placeholder="选择结束日期" 
            v-model="seachObj.endTime" style="width: 40%;" 
            :picker-options="endDatePicker" 
            @change="dateChangeEndTime"></el-date-picker>

 

js

data(){
    startDatePicker:this.beginDate(),
    endDatePicker:this.processDate(),
},

methods:{
    beginDate(){//提出开始时间必须小于今天
        let self = this
        return {
            disabledDate(time){
                return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
            }
        }
    },
    processDate(){//提出结束时间必须大于提出开始时间
        let self = this
        return {
            disabledDate(time){
                if(self.seachObj.beginTime){
                    return new Date(self.seachObj.beginTime).getTime() > time.getTime()
                }else{
                    return time.getTime() > Date.now()
                    //开始时间不选时,结束时间最大值小于等于当天
                }
            }
        }
    },

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值