Using ngx-bootstrap Datepicker in an Angular 4 application,
I know that normally you can specify the date format this way:
<input id="from" name="from"
bsDatepicker [(bsValue)]="myModel"
value="{{ myModel | date:'yyyy-MM-dd'}}">
but this time I'm inside a template-driven Angular form, so my input is not bound to a variable like myModel
in the example above, but it's just bound to the form:
<input id="from" name="from"
bsDatepicker ngModel>
so how can I specify the date format in this case?
Edit: it looks like that a way to achieve this is by creating a new variable newVar
inside the component and then binding it with [(bsValue)]="newVar"
:
<input id="from" name="from"
bsDatepicker ngModel
[(bsValue)]="newVar"
value="{{ newVar | date:'yyyy-MM-dd' }}">
However I wonder if there is a better solution.
[(bsValue)]
is always available for use withbsDatepicker
, will it be input field or notif you want to change format of only one field then
[(bsValue)]="newVar" value="{{ newVar | date:'yyyy-MM-dd' }}"
is finebsDatepicker
has integration with input fields and forms, this should work for you:<input name="from" bsDatepicker [(ngModel)]="newVar">
and you can globally change format of date in input's value via config
https://github.com/valor-software/ngx-bootstrap/blob/development/src/datepicker/bs-datepicker.config.ts#L31
or via
[bsConfig]="{dateInputFormat: 'yyyy-MM-dd'}"
on element withbsDatepicker
note: there is currently an issue (v1.9.2) with
L
format, it`s always uses en-us locale