feat(Form): add Calendar demo

This commit is contained in:
陈嘉涵
2020-02-11 15:40:58 +08:00
parent fb3892e302
commit 200da364ff
6 changed files with 138 additions and 47 deletions
+3
View File
@@ -50,6 +50,7 @@
<field-type-picker />
<field-type-datetime-picker />
<field-type-area />
<field-type-calendar />
<div style="margin: 16px 16px 0;">
<van-button type="info" round block>{{ $t('submit') }}</van-button>
@@ -61,6 +62,7 @@
<script>
import FieldTypeArea from './FieldTypeArea';
import FieldTypePicker from './FieldTypePicker';
import FieldTypeCalendar from './FieldTypeCalendar';
import FieldTypeDatetimePicker from './FieldTypeDatetimePicker';
export default {
@@ -98,6 +100,7 @@ export default {
components: {
FieldTypeArea,
FieldTypePicker,
FieldTypeCalendar,
FieldTypeDatetimePicker,
},
+47
View File
@@ -0,0 +1,47 @@
<template>
<div>
<van-field
readonly
clickable
name="calendar"
:value="value"
:label="$t('calendar')"
:placeholder="$t('placeholder')"
@click="showCalendar = true"
/>
<van-calendar v-model="showCalendar" @confirm="onConfirm" />
</div>
</template>
<script>
export default {
i18n: {
'zh-CN': {
calendar: '日历',
placeholder: '点击选择日期',
},
'en-US': {
calendar: 'Calendar',
placeholder: 'Select date',
},
},
data() {
return {
value: '',
showCalendar: false,
};
},
methods: {
formatDate(date) {
return `${date.getMonth() + 1}/${date.getDate()}`;
},
onConfirm(date) {
this.value = this.formatDate(date);
this.showCalendar = false;
},
},
};
</script>
+4 -8
View File
@@ -11,8 +11,7 @@
/>
<van-popup v-model="showPicker" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
type="time"
@confirm="onConfirm"
@cancel="onCancel"
/>
@@ -37,16 +36,13 @@ export default {
return {
value: '',
showPicker: false,
currentDate: new Date(),
};
},
methods: {
formatDate(date) {
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
},
onConfirm(date) {
this.value = this.formatDate(date);
onConfirm(time) {
console.log('time', time);
this.value = time;
this.showPicker = false;
},
onCancel() {