日期组件有有开始日期和结束日期 怎么处理选中的时间在一个月30天?

日期组件有有开始日期和结束日期 怎么处理选中的时间在一个月30天?

<a-col class="gutter-row" :span="6">

<a-form-item label="日期" :label-col="{ span: 7 }" :wrapper-col="{ span: 16 }">

<a-range-picker :value="approvalDate" :disabled-date="disabledDate" @change="DateFn"/>

</a-form-item>

</a-col>

data() {

return {

form{

rovalDateStart :null,

rovalDateEnd :null

}

}

DateFn(dates, dateStrings) {

this.rovalDate = dates;

this.form.rovalDateStart = dateStrings[0];

this.form.rovalDateEnd = dateStrings[1];

},


回答:

<template>

<a-col class="gutter-row" :span="6">

<a-form-item label="日期" :label-col="{ span: 7 }" :wrapper-col="{ span: 16 }">

<a-range-picker :value="approvalDate" :disabled-date="disabledDate" @change="DateFn"/>

</a-form-item>

</a-col>

</template>

<script>

export default {

data() {

return {

approvalDate: [null, null],

form: {

rovalDateStart: null,

rovalDateEnd: null

}

};

},

methods: {

DateFn(dates, dateStrings) {

this.approvalDate = dates;

this.form.rovalDateStart = dateStrings[0];

this.form.rovalDateEnd = dateStrings[1];

},

disabledDate(current) {

// 如果没有选择开始日期或者结束日期,不禁用任何日期

if (!this.form.rovalDateStart || !this.form.rovalDateEnd) {

return false;

}

const start = new Date(this.form.rovalDateStart);

const end = new Date(this.form.rovalDateEnd);

const currentDay = new Date(current);

// 确定当前日期是不是在开始日期后30天内或者结束日期前30天内

const afterStart = currentDay >= start && currentDay <= new Date(start.getTime() + (30 * 24 * 60 * 60 * 1000));

const beforeEnd = currentDay <= end && currentDay >= new Date(end.getTime() - (30 * 24 * 60 * 60 * 1000));

// 如果当前日期不在这个范围内,就禁用这个日期

return !(afterStart || beforeEnd);

}

}

};

</script>

以上是 日期组件有有开始日期和结束日期 怎么处理选中的时间在一个月30天? 的全部内容, 来源链接: utcz.com/p/935181.html

回到顶部