fix(Calendar): should show range prompt after select

This commit is contained in:
陈嘉涵 2020-01-15 18:54:01 +08:00
parent b41abcde48
commit ff09011e0e
7 changed files with 28 additions and 16 deletions

View File

@ -23,8 +23,9 @@ export default createComponent({
color: String,
value: Boolean,
formatter: Function,
defaultDate: [Date, Array],
confirmText: String,
rangePrompt: String,
defaultDate: [Date, Array],
confirmDisabledText: String,
type: {
type: String,
@ -78,12 +79,6 @@ export default createComponent({
maxRange: {
type: Number,
default: null
},
rangePrompt: {
type: String,
default() {
return t('rangePromptText', this.maxRange);
}
}
},
@ -260,15 +255,32 @@ export default createComponent({
this.currentDate = date;
this.$emit('select', this.currentDate);
if (complete && this.type === 'range') {
const valid = this.checkRange();
if (!valid) {
return;
}
}
if (complete && !this.showConfirm) {
this.onConfirm();
}
},
checkRange() {
const { maxRange, currentDate, rangePrompt } = this;
if (maxRange && calcDateNum(currentDate) > maxRange) {
Toast(rangePrompt || t('rangePrompt', maxRange));
return false;
}
return true;
},
onConfirm() {
if (this.maxRange && calcDateNum(this.currentDate) > this.maxRange) {
Toast(this.rangePrompt);
} else {
if (this.checkRange()) {
this.$emit('confirm', this.currentDate);
}
},

View File

@ -18,7 +18,7 @@ export default {
title: 'Calendar',
weekdays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
monthTitle: (year: number, month: number) => `${year}/${month}`,
rangePromptText: (maxRange: Number) => `Choose no more than ${maxRange} days`
rangePrompt: (maxRange: Number) => `Choose no more than ${maxRange} days`
},
vanContactCard: {
addText: 'Add contact info'

View File

@ -18,7 +18,7 @@ export default {
title: 'Calendario',
weekdays: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],
monthTitle: (year: number, month: number) => `${year}/${month}`,
rangePromptText: (maxRange: Number) => `Elija no más de ${maxRange} días`
rangePrompt: (maxRange: Number) => `Elija no más de ${maxRange} días`
},
vanContactCard: {
addText: 'Añadir información de contacto'

View File

@ -18,7 +18,7 @@ export default {
title: 'Takvim',
weekdays: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'],
monthTitle: (year: number, month: number) => `${year}/${month}`,
rangePromptText: (maxRange: Number) => `En fazla ${maxRange} gün seçin`
rangePrompt: (maxRange: Number) => `En fazla ${maxRange} gün seçin`
},
vanContactCard: {
addText: 'Kişi bilgisi ekle'

View File

@ -19,7 +19,7 @@ export default {
confirm: '确定',
weekdays: ['日', '一', '二', '三', '四', '五', '六'],
monthTitle: (year: number, month: number) => `${year}${month}`,
rangePromptText: (maxRange: Number) => `选择天数不能超过 ${maxRange}`
rangePrompt: (maxRange: Number) => `选择天数不能超过 ${maxRange}`
},
vanContactCard: {
addText: '添加联系人'

View File

@ -19,7 +19,7 @@ export default {
confirm: '確定',
weekdays: ['日', '壹', '二', '三', '四', '五', '六'],
monthTitle: (year: number, month: number) => `${year}${month}`,
rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange}`
rangePrompt: (maxRange: Number) => `選擇天數不能超過 ${maxRange}`
},
vanContactCard: {
addText: '添加聯系人'

View File

@ -19,7 +19,7 @@ export default {
confirm: '確定',
weekdays: ['日', '壹', '二', '三', '四', '五', '六'],
monthTitle: (year: number, month: number) => `${year}${month}`,
rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange}`
rangePrompt: (maxRange: Number) => `選擇天數不能超過 ${maxRange}`
},
vanContactCard: {
addText: '新增聯絡人'