diff --git a/core/src/components/datetime/readme.md b/core/src/components/datetime/readme.md
index 4aa0882152..bf2709dfe7 100644
--- a/core/src/components/datetime/readme.md
+++ b/core/src/components/datetime/readme.md
@@ -276,10 +276,7 @@ interface DatetimeCustomEvent extends CustomEvent {
-```
-**component.html**
-```html
@@ -287,17 +284,52 @@ interface DatetimeCustomEvent extends CustomEvent {
Reset
+
+
+
+ Date
+ {{ dateValue }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
```
-**component.ts**
```typescript
-
import { Component, ViewChild } from '@angular/core';
import { IonDatetime } from '@ionic/angular';
+import { format, parseISO } from 'date-fns';
@Component({…})
export class MyComponent {
@ViewChild(IonDatetime, { static: true }) datetime: IonDatetime;
+
+ dateValue = '';
+ dateValue2 = '';
+
constructor() {}
confirm() {
@@ -307,6 +339,10 @@ export class MyComponent {
reset() {
this.datetime.nativeEl.reset();
}
+
+ formatDate(value: string) {
+ return format(parseISO(value), 'MMM dd yyyy');
+ }
}
```
@@ -374,16 +410,51 @@ export class MyComponent {
+
+
+ Date
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
```javascript
+import { format, parseISO } from 'date-fns';
+
const datetime = document.querySelector('#custom-datetime');
const confirm = () => {
datetime.confirm();
-}
+};
const reset = () => {
datetime.reset();
-}
+};
+
+const formatDate = (value: string) => {
+ return format(parseISO(value), 'MMM dd yyyy');
+};
+
+const popoverDatetime = document.querySelector('#popover-datetime');
+const dateInput = document.querySelector('#date-input');
+popoverDatetime.addEventListener('ionChange', ev => dateInput.innerText = formatDate(ev.detail.value));
+
+const popoverDatetime2 = document.querySelector('#popover-datetime-2');
+const dateInput2 = document.querySelector('#date-input-2');
+popoverDatetime2.addEventListener('ionChange', ev => dateInput2.value = formatDate(ev.detail.value));
```
@@ -396,24 +467,36 @@ import {
IonButtons,
IonContent,
IonDatetime,
+ IonInput,
+ IonItem,
IonModal,
- IonPage
+ IonPage,
+ IonPopover
} from '@ionic/react';
+import { calendar } from 'ionicons/icons';
+import { format, parseISO } from 'date-fns';
export const DateTimeExamples: React.FC = () => {
- const [selectedDate, setSelectedDate] = useState('2012-12-15T13:47:20.789');
+ const [selectedDate, setSelectedDate] = useState('2012-12-15T13:47:20.789');
+ const [popoverDate, setPopoverDate] = useState('');
+ const [popoverDate2, setPopoverDate2] = useState('');
+
const customDatetime = useRef();
const confirm = () => {
if (customDatetime === undefined) return;
customDatetime.confirm();
- }
+ };
const reset = () => {
if (customDatetime === undefined) return;
customDatetime.reset();
- }
+ };
+
+ const formatDate = (value: string) => {
+ return format(parseISO(value), 'MMM dd yyyy');
+ };
return (
@@ -476,6 +559,32 @@ export const DateTimeExamples: React.FC = () => {
+
+ {/* Datetime in popover with cover element */}
+
+ Date
+ {popoverDate}
+
+ setPopoverDate(formatDate(ev.detail.value!))}
+ />
+
+
+
+ {/* Datetime in popover with input */}
+
+
+
+
+
+
+ setPopoverDate2(formatDate(ev.detail.value!))}
+ />
+
+
)
}
@@ -486,6 +595,7 @@ export const DateTimeExamples: React.FC = () => {
```javascript
import { Component, h } from '@stencil/core';
+import { format, parseISO } from 'date-fns';
@Component({
tag: 'datetime-example',
@@ -493,6 +603,8 @@ import { Component, h } from '@stencil/core';
})
export class DatetimeExample {
private customDatetime?: HTMLElement;
+ private dateInput?: HTMLElement;
+ private dateInput2?: HTMLElement;
private confirm() {
const { customDatetime } = this;
@@ -507,6 +619,10 @@ export class DatetimeExample {
customDatetime.reset();
}
+
+ private formatDate(value: string) {
+ return format(parseISO(value), 'MMM dd yyyy');
+ }
render() {
return [
@@ -569,6 +685,32 @@ export class DatetimeExample {
+
+ {/* Datetime in popover with cover element */}
+
+ Date
+ this.dateInput = el}>
+
+ this.dateInput.innerText = formatDate(ev.detail.value)}
+ />
+
+
+
+ {/* Datetime in popover with input */}
+
+ this.dateInput2 = el}>
+
+
+
+
+ this.dateInput2.value = formatDate(ev.detail.value)}
+ />
+
+
]
}
}
@@ -638,6 +780,32 @@ export class DatetimeExample {
+
+
+
+ Date
+ {{ date1 }}
+
+ date1 = formatDate(ev.detail.value)"
+ />
+
+
+
+
+
+
+
+
+
+
+ date2 = formatDate(ev.detail.value)"
+ />
+
+