From 1bc3e5aa654ca9561e6f242fba81b4f3c565dc98 Mon Sep 17 00:00:00 2001 From: hetech Date: Tue, 2 Jul 2019 10:42:56 +0800 Subject: [PATCH] Calendar: first-day-of-week is not supported when using custom ranges (#16235) --- examples/docs/en-US/calendar.md | 4 ++++ examples/docs/es/calendar.md | 4 ++++ examples/docs/fr-FR/calendar.md | 4 ++++ examples/docs/fr-FR/form.md | 2 +- examples/docs/zh-CN/calendar.md | 4 ++++ packages/calendar/src/date-table.vue | 5 ++++- test/unit/specs/calendar.spec.js | 19 +++++++++++++++++++ 7 files changed, 40 insertions(+), 2 deletions(-) diff --git a/examples/docs/en-US/calendar.md b/examples/docs/en-US/calendar.md index e94ff119a..dfe84eaa1 100644 --- a/examples/docs/en-US/calendar.md +++ b/examples/docs/en-US/calendar.md @@ -52,6 +52,10 @@ Display date. ``` ::: +:::tip +The `first-day-of-week` attribute is not supported when using custom ranges. +::: + ### Attributes | Attribute | Description | Type | Accepted Values | Default | |-----------------|------------------- |---------- |---------------------- |--------- | diff --git a/examples/docs/es/calendar.md b/examples/docs/es/calendar.md index d9b1834a6..22dff71c1 100644 --- a/examples/docs/es/calendar.md +++ b/examples/docs/es/calendar.md @@ -53,6 +53,10 @@ Muestra fechas. ``` ::: +:::tip +The `first-day-of-week` attribute is not supported when using custom ranges. +::: + ### Atributos | Atributo | Descripción | Tipo | Valores aceptados | Por defecto | |-----------------|------------------- |---------- |---------------------- |------------ | diff --git a/examples/docs/fr-FR/calendar.md b/examples/docs/fr-FR/calendar.md index a32a20153..6c9653ce7 100644 --- a/examples/docs/fr-FR/calendar.md +++ b/examples/docs/fr-FR/calendar.md @@ -52,6 +52,10 @@ Affiche un calendrier. ``` ::: +:::tip +The `first-day-of-week` attribute is not supported when using custom ranges. +::: + ### Attributs | Attribut | Description | Type | Valeurs acceptées | Défaut | diff --git a/examples/docs/fr-FR/form.md b/examples/docs/fr-FR/form.md index 7f6bec4b6..62a3a2865 100644 --- a/examples/docs/fr-FR/form.md +++ b/examples/docs/fr-FR/form.md @@ -394,7 +394,7 @@ Les callback de validations personnalisées doivent être appelées. Un usage pl prop="email" label="Email" :rules="[ - { required: true, message: 'Veuillez entrer l'adresse e-mail', trigger: 'blur' }, + { required: true, message: 'Veuillez entrer l\'adresse e-mail', trigger: 'blur' }, { type: 'email', message: 'Veuillez entrer une adresse e-mail valide', trigger: ['blur', 'change'] } ]" > diff --git a/examples/docs/zh-CN/calendar.md b/examples/docs/zh-CN/calendar.md index b7b36e9d4..4a806de06 100644 --- a/examples/docs/zh-CN/calendar.md +++ b/examples/docs/zh-CN/calendar.md @@ -52,6 +52,10 @@ ``` ::: +:::tip +使用自定义范围时,不支持 first-day-of-week 属性。 +::: + ### Attributes | 参数 | 说明 | 类型 | 可选值 | 默认值 | |-----------------|-------------- |---------- |------------ |-------- | diff --git a/packages/calendar/src/date-table.vue b/packages/calendar/src/date-table.vue index 14f1d9c76..39c0568cc 100644 --- a/packages/calendar/src/date-table.vue +++ b/packages/calendar/src/date-table.vue @@ -141,7 +141,10 @@ export default { }, weekDays() { - const start = this.firstDayOfWeek; + let start = this.firstDayOfWeek; + if (this.isInRange) { + start = 1; + } if (typeof start !== 'number' || start === 0) { return WEEK_DAYS.slice(); } else { diff --git a/test/unit/specs/calendar.spec.js b/test/unit/specs/calendar.spec.js index b869447d2..81c86cf65 100644 --- a/test/unit/specs/calendar.spec.js +++ b/test/unit/specs/calendar.spec.js @@ -85,5 +85,24 @@ describe('Calendar', () => { expect(firstRow.firstElementChild.innerText).to.be.equal('31'); expect(firstRow.lastElementChild.innerText).to.be.equal('6'); }); + + it('if range is specified, firstDayOfWeek will be ignored', async() => { + vm = createVue({ + template: ` + + `, + data() { + return { + value: new Date('2019-03-04') + }; + } + }, true); + const head = vm.$el.querySelector('.el-calendar-table thead'); + expect(head.firstElementChild.innerText).to.be.equal('一'); + expect(head.lastElementChild.innerText).to.be.equal('日'); + const firstRow = vm.$el.querySelector('.el-calendar-table__row'); + expect(firstRow.firstElementChild.innerText).to.be.equal('4'); + expect(firstRow.lastElementChild.innerText).to.be.equal('10'); + }); });