From 9e86d01e830fca6b3b258214fd0fb5396e13edc8 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Tue, 15 Dec 2020 15:41:08 +0800 Subject: [PATCH] docs(Calendar): use composition api --- src/calendar/README.md | 103 +++++++------ src/calendar/README.zh-CN.md | 103 +++++++------ src/calendar/demo/index.vue | 275 ++++++++++++++++++----------------- 3 files changed, 266 insertions(+), 215 deletions(-) diff --git a/src/calendar/README.md b/src/calendar/README.md index c810afd55..67d1130ab 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -26,21 +26,24 @@ The `confirm` event will be emitted after the date selection is completed. ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - date: '', - show: false, + setup() { + const date = ref(''); + const show = ref(false); + + const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`; + const onConfirm = (date) => { + show.value = false; + date.value = formatDate(date); + }; + + return { + date, + show, + onConfirm, }; - }, - methods: { - formatDate(date) { - return `${date.getMonth() + 1}/${date.getDate()}`; - }, - onConfirm(date) { - this.show = false; - this.date = this.formatDate(date); - }, }, }; ``` @@ -53,18 +56,23 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - text: '', - show: false, + setup() { + const text = ref(''); + const show = ref(false); + + const onConfirm = (dates) => { + show.value = false; + text.value = `选择了 ${dates.length} 个日期`; + }; + + return { + text, + show, + onConfirm, }; - }, - methods: { - onConfirm(date) { - this.show = false; - this.text = `${date.length} dates selected`; - }, }, }; ``` @@ -79,22 +87,25 @@ You can select a date range after setting `type` to`range`. In range mode, the d ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - date: '', - show: false, - }; - }, - methods: { - formatDate(date) { - return `${date.getMonth() + 1}/${date.getDate()}`; - }, - onConfirm(date) { + setup() { + const date = ref(''); + const show = ref(false); + + const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`; + const onConfirm = (date) => { const [start, end] = date; - this.show = false; - this.date = `${this.formatDate(start)} - ${this.formatDate(end)}`; - }, + show.value = false; + date.value = `${formatDate(start)} - ${formatDate(end)}`; + }; + + return { + date, + show, + onConfirm, + }; }, }; ``` @@ -124,10 +135,14 @@ Use `min-date` and `max-date` to custom date range. ``` ```js +import { ref } from 'vue'; + export default { - data() { + setup() { + const show = ref(false); + return { - show: false, + show, minDate: new Date(2010, 0, 1), maxDate: new Date(2010, 0, 31), }; @@ -158,8 +173,8 @@ Use `formatter` to custom day text. ```js export default { - methods: { - formatter(day) { + setup() { + const formatter = (day) => { const month = day.date.getMonth() + 1; const date = day.date.getDate(); @@ -180,7 +195,11 @@ export default { } return day; - }, + }; + + return { + formatter, + }; }, }; ``` diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index 30eeafeab..223b8981d 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -26,21 +26,24 @@ app.use(Calendar); ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - date: '', - show: false, + setup() { + const date = ref(''); + const show = ref(false); + + const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`; + const onConfirm = (date) => { + show.value = false; + date.value = formatDate(date); + }; + + return { + date, + show, + onConfirm, }; - }, - methods: { - formatDate(date) { - return `${date.getMonth() + 1}/${date.getDate()}`; - }, - onConfirm(date) { - this.show = false; - this.date = this.formatDate(date); - }, }, }; ``` @@ -55,18 +58,23 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - text: '', - show: false, + setup() { + const text = ref(''); + const show = ref(false); + + const onConfirm = (dates) => { + show.value = false; + text.value = `选择了 ${dates.length} 个日期`; + }; + + return { + text, + show, + onConfirm, }; - }, - methods: { - onConfirm(date) { - this.show = false; - this.text = `选择了 ${date.length} 个日期`; - }, }, }; ``` @@ -81,22 +89,25 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - date: '', - show: false, - }; - }, - methods: { - formatDate(date) { - return `${date.getMonth() + 1}/${date.getDate()}`; - }, - onConfirm(date) { + setup() { + const date = ref(''); + const show = ref(false); + + const formatDate = (date) => `${date.getMonth() + 1}/${date.getDate()}`; + const onConfirm = (date) => { const [start, end] = date; - this.show = false; - this.date = `${this.formatDate(start)} - ${this.formatDate(end)}`; - }, + show.value = false; + date.value = `${formatDate(start)} - ${formatDate(end)}`; + }; + + return { + date, + show, + onConfirm, + }; }, }; ``` @@ -126,10 +137,14 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { + setup() { + const show = ref(false); + return { - show: false, + show, minDate: new Date(2010, 0, 1), maxDate: new Date(2010, 0, 31), }; @@ -160,8 +175,8 @@ export default { ```js export default { - methods: { - formatter(day) { + setup() { + const formatter = (day) => { const month = day.date.getMonth() + 1; const date = day.date.getDate(); @@ -182,7 +197,11 @@ export default { } return day; - }, + }; + + return { + formatter, + }; }, }; ``` diff --git a/src/calendar/demo/index.vue b/src/calendar/demo/index.vue index 39df70210..67c910176 100644 --- a/src/calendar/demo/index.vue +++ b/src/calendar/demo/index.vue @@ -119,60 +119,64 @@