Vueは、プラグインの終了時間が開始時間より大きいコードを選択しなければならないと判断します。
効果の展示:
コードの展示:
補足知識:Vue+VANt DatetimePicker日付は一般的な日付制限を選択します。
Moment.js(Moment.js JavaScript日付処理クラスhttp://momentjs.cn/)のインストール
npm install moment--save嚖npm
yarn add moment〓〓Yarn
以上のこのvueでは、プラグインの終了時間は必ず開始時間より大きいと判断しました。コードは小編集で皆さんに共有した内容です。参考にしていただければと思います。どうぞよろしくお願いします。
コードの展示:
<template>
<div id="date_time_picker">
<van-button plain type="primary" @click="showPopFn()"> </van-button>
<van-field v-model="timeValue" placeholder=" " readonly />
<van-popup v-model="show" position="bottom" :style="{ height: '40%' }">
<van-datetime-picker v-model="currentDate" type="date" @change="changeFn()" @confirm="confirmFn()" @cancel="cancelFn()" />
</van-popup>
</div>
</template>
<script>
export default {
data() {
return {
msg: '',
currentDate: new Date(),
changeDate: new Date(),
show: false, //
timeValue: ''
}
},
methods: {
showPopFn() {
this.show = true;
},
showPopup() {
this.show = true;
},
changeFn() { //
this.changeDate = this.currentDate // Tue Sep 08 2020 00:00:00 GMT+0800 ( )
},
confirmFn() { //
this.timeValue = this.timeFormat(this.currentDate);
this.show = false;
},
cancelFn(){
this.show = true;
},
timeFormat(time) { // 2019-09-08
let year = time.getFullYear();
let month = time.getMonth() + 1;
let day = time.getDate();
return year + ' ' + month + ' ' + day + ' '
}
},
mounted() {
this.timeFormat(new Date());
}
}
</script>
<style>
</style>
注意:必要に応じて導入したら、メール・jsに該当するファイルを導入してください。
// main.js
import {Button} from 'vant'
import { DatetimePicker } from 'vant';
import { Popup } from 'vant';
import { Field } from 'vant';
Vue.use(Button)
Vue.use(DatetimePicker)
Vue.use(Popup)
Vue.use(Field);
-----終わります。補足知識:Vue+VANt DatetimePicker日付は一般的な日付制限を選択します。
Moment.js(Moment.js JavaScript日付処理クラスhttp://momentjs.cn/)のインストール
npm install moment--save嚖npm
yarn add moment〓〓Yarn
<van-datetime-picker
class="datePick"
v-model="currentDate"
type="date"
:min-date="minDate"
:max-date="maxDate"
readonly="readonly"
@confirm="confirmDate"
@cancel="cancelDate"/>
mounted() {
let dateLimit = new Date();
let year = date.getFullYear();
let month = date.getMonth()+1;
let d = new Date(year, month, 0);
//
this.maxDate = new Date(this.$moment(dateLimit).format('YYYY/MM/DD'));
// +3
this.maxDate = new Date(this.$moment(dateLimit).add('3','M').format('YYYY/MM/DD'));
//
this.minDate = new Date(this.$moment(dateLimit).format('YYYY/MM/DD'));
// -3
this.minDate = new Date(this.$moment(dateLimit).subtract('3','M').format('YYYY/MM/DD');
// -3 ( , 2020/06/01----2020/09/22)
this.minDate = new Date(this.$moment(dateLimit).subtract('3','M').format('YYYY/MM')+'/01');
//
let year = dateLimit.getFullYear();
let month = dateLimit.getMonth()+1;
let d = new Date(year, month, 0);
let enddate = d.getDate();
this.minDate = new Date(this.$moment(dateLimit).format('YYYY/MM/')+'01');
this.maxDate = new Date(this.$moment(dateLimit).format('YYYY/MM/')+ enddate);
}
minDataとmaxDataの2つの組み合わせで日付制限ができます。以上のこのvueでは、プラグインの終了時間は必ず開始時間より大きいと判断しました。コードは小編集で皆さんに共有した内容です。参考にしていただければと思います。どうぞよろしくお願いします。