File tree Expand file tree Collapse file tree 4 files changed +35
-16
lines changed Expand file tree Collapse file tree 4 files changed +35
-16
lines changed Original file line number Diff line number Diff line change 1
1
<template >
2
2
<div class =" example" >
3
- <Datepicker :format =" format" />
4
- <code >
5
- < ; datepicker :format="format"> ;< ; /datepicker> ;
6
- </code >
7
3
<div class =" settings" >
8
4
<h5 >Settings</h5 >
9
5
<Format
10
6
@selected =" selected"
11
7
:format-init =" format"
12
8
/>
13
9
</div >
14
-
15
- <Datepicker :format =" customFormatter" :typeable =" true" />
10
+ <h3 >Default formatter</h3 >
11
+ <Datepicker :format =" format" />
12
+ <code >
13
+ < ; Datepicker :format="format"/> ;
14
+ </code >
15
+ <h3 >Custom formatter</h3 >
16
+ <Datepicker :format =" customFormatter" :parser =" customParser" :typeable =" true" />
16
17
<code >
17
- < ; datepicker :format="format" & gt ;& lt ; /datepicker > ;
18
+ < ; Datepicker :format="customFormatter" :parser="customParser"/ > ;
18
19
</code >
19
20
</div >
20
21
</template >
21
22
22
23
<script >
23
24
import Format from ' ../../../docs/.vuepress/components/Formats'
24
- import { format } from " date-fns" ;
25
+ import { format , parse } from " date-fns" ;
25
26
26
27
export default {
27
28
name: ' Formatting' ,
@@ -38,7 +39,10 @@ export default {
38
39
this .format = newVal
39
40
},
40
41
customFormatter (date ) {
41
- return format (new Date (date), " dd.MM.yyyy" );
42
+ return format (date, this .format )
43
+ },
44
+ customParser (date ) {
45
+ return parse (date, this .format , new Date ())
42
46
}
43
47
},
44
48
}
Original file line number Diff line number Diff line change @@ -24,19 +24,29 @@ Function will be called with date and it has to return the formatted date as a s
24
24
This allow us to use moment, date-fns, globalize or any other library to format date.
25
25
Be aware of the fact that if you use a typeable datepicker the formatting function will be
26
26
triggered on every input change.
27
+ The function formatter needs a custom parser to parse the formatted date back to date object.
27
28
29
+ Here is an example for date-fns:
28
30
``` vue
29
31
<template>
30
- <DatePicker :format="customFormatter"></DatePicker>
32
+ <DatePicker :format="customFormatter" :parser="customParser" ></DatePicker>
31
33
</template>
32
34
<script>
33
- import { format } from "date-fns";
35
+ import { format, parse } from "date-fns";
34
36
export default {
35
- methods: {
36
- customFormatter(date) {
37
- return format(new Date(date), "dd-MM-yyyy");
38
- }
39
- }
37
+ data() {
38
+ return {
39
+ format: 'dd.MM.yyyy',
40
+ }
41
+ },
42
+ methods: {
43
+ customFormatter(date) {
44
+ return format(date, this.format)
45
+ },
46
+ customParser(date) {
47
+ return parse(date, this.format, new Date())
48
+ }
49
+ },
40
50
}
41
51
</script>
42
52
```
Original file line number Diff line number Diff line change 8
8
:selected-date =" selectedDate"
9
9
:reset-typed-date =" resetTypedDate"
10
10
:format =" format"
11
+ :parser =" parser"
11
12
:translation =" translation"
12
13
:inline =" inline"
13
14
:name =" name"
Original file line number Diff line number Diff line change @@ -8,6 +8,10 @@ export default ({
8
8
],
9
9
default: ' dd MMM yyyy' ,
10
10
},
11
+ parser: {
12
+ type: Function ,
13
+ default: null ,
14
+ },
11
15
id: {
12
16
type: String ,
13
17
default: null ,
You can’t perform that action at this time.
0 commit comments