这个报错是哪里错了吗,另外这个不得晚于30天怎么写呀,如果方便的话可以给代码吗,两个时间框对比
应该是你disabled判断的话,用的是字符串,实际要用的布尔值,你检查下disabled这个
代码不全,无法判断错误在哪里!
需求:根据你的需求,可以判断是 一个日期选择器,所选的时间不得晚于合同时间的30天;
思路
第一选取时间 判断是否小于30天,小于就return
第二使用 element日期选择器的picker-options属性 将合同时间的30天后禁止选择;
第二种方案代码展示
<template>
<div>
<el-date-picker
:disabled="isDisabled"
:editable="false"
:clearable = "true"
v-model="starttime"
time-arrow-control
:picker-options="{
disabledDate: time => {
return time.getTime() < Date.now() - 3600 * 1000 * 24
},
selectableRange: startTimeRange
}"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始日期"
/>
</div>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
starttime:''
}
},
watch: {
starttime:{
handler(newValue, oldValue) {
console.log(oldValue);
if(newValue){
let nowDate = moment().format('YYYY-MM-DD HH:mm:ss');
let dt = nowDate.split(" ");
let st = '';
if(newValue.split(" ")[0] == dt[0]){
// 是今天,选择 的时间开始为此刻的时分秒
st = dt[1];
}else{
// 明天及以后从0时开始
st = '00:00:00';
}
this.startTimeRange = st + ' - 23:59:59';
//例如:如果今天此刻时间为10:41:40 则选择时间范围为: 10:41:40 - 23:59:59
//否则为:00:00:00- 23:59:59
}
}
}
},
}
</script>
<style scoped>
</style>