gpt4 book ai didi

javascript - 禁用日期选择器上的日期的问题

转载 作者:行者123 更新时间:2023-12-01 03:11:39 25 4
gpt4 key购买 nike

我正在使用vue-date-range日期选择器。在这里,我使用 disabledStartdisabledEnd 属性,但它没有禁用 View 上的日期。为了禁用日期,它需要一个对象。我正在传递对象,但它不起作用。我不知道禁用日期的正确对象格式是什么。

如有任何帮助,我们将不胜感激插件链接 https://www.npmjs.com/package/vue-date-range

这是HTML

  <div class="form-group form-group-lg">
<label>When is it required?</label>
<daterange class="calendar"
:sync-range.sync="range"
:disable-days-before-today="disableDaysBeforeToday"
:days-disabled-start="disableStart"
:days-disabled-end="disableEnd"
:lang="lang" @change="onChange">
</daterange>
</div>

JS

<script>
import { DateRange } from 'vue-date-range';
export default {


data() {
return {
lang: 'en',
disableDaysBeforeToday: true,
disableStart: { startDate:moment()},
disableEnd: {
endDate: moment().add(7, 'days')
},
range: {}
}

},
components: {
'daterange': DateRange
},

methods: {

onChange(range) {
console.log("START", range.startDate._d);
console.log("END", range.endDate._d);
},
disable() {
console.log("on button click disable dates");
this.disableStart._d = new Date('2017-08-25').toString()


}


}


}
</script>

最佳答案

Phil指出,在研究了source code of this library之后,我可以确认使用的对象是 moment.js 的日期对象。
因此,只需将 moment.js 的日期对象传递给 days-disabled-startdays-disabled-end 即可。

参见demo下面。

new Vue({
el: '#range',
components: {
'daterange':daterange.DateRange
},
data() {
return {
lang: 'en',
range: {
startDate: moment(),
endDate: moment().add(2, 'days')
},
disableStart: moment().add(3, 'days'),
disableEnd: moment().add(6, 'days')
};
},
methods: {
onChange(range) {
this.range = range;
},
setRange (p) {
if (typeof p === 'number') {
console.log(p)
this.range = {
startDate: moment().add(p, 'days'),
endDate: moment()
}
}
},
}
});
<script src="https://cdn.bootcss.com/moment.js/2.17.1/moment.min.js"></script>
<script src="https://unpkg.com/vue/dist/vue.min.js"></script>
<script src="https://unpkg.com/vue-date-range@2.2.2/dist/vue-date-range.min.js"></script>
<div id="range" class="calendar-wrapper">
<span>{{range.startDate.format('YYYY-MM-DD')}}</span>~<span>{{range.endDate.format('YYYY-MM-DD')}}</span>
<daterange class="calendar"
:sync-range="range"
:lang="lang"
:days-disabled-start="disableStart"
:days-disabled-end="disableEnd"
@change="onChange">
</daterange>
<button @click.stop.prevent="setRange(-7)">Last 7 days</button>
<button @click.stop.prevent="setRange(-30)">Last 1 month</button>
</div>

关于javascript - 禁用日期选择器上的日期的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com