大佬教程收集整理的这篇文章主要介绍了angular-ng-bootstrap:实现自定义NgbDateParserFormatter以更改NgbInputDatepicker上的输入值的格式是否正确?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
它接缝可以解决实现一个新的NgbDateParserFormatter来替换默认的NgbDateISOParserFormatter.
但我想知道是否有另一种方式.
谢谢,
尼尔森.
更新:
使用moment.js的一个小的实现的NgbDateParserFormatter
(使用Ng-bootstrap版本1.0.0-alpha.14进行测试)
import {NgbDateParserFormatter,NgbDateStruct} from '@ng-bootstrap/ng-bootstrap'; import * as moment from 'moment'; export class NgbDateMomentParserFormatter extends NgbDateParserFormatter { constructor(private momentFormat: String) { super(); }; format(date: NgbDateStruct): String { if (date === null) { return ''; } let d = moment({ year: date.year,month: date.month - 1,date: date.day }); return d.isValid() ? d.format(this.momentFormat) : ''; } parse(value: String): NgbDateStruct { if (!value) { return null; } let d = moment(value,this.momentFormat); return d.isValid() ? { year: d.year(),month: d.month() + 1,day: d.date() } : null; } }
在一个模块中,您可以使用工厂包含提供者来指示日期格式作为参数.
--- @NgModule({ --- providers: [ { provide: NgbDateParserFormatter,useFactory: () => { return new NgbDateMomentParserFormatter("DD-MM-YYYY") } } ] --- })
在将来,我们可能会对NgbDateParserFormatter进行更复杂的实现,您可以在其中传递所需的格式(例如yyyy-MM-dd).添加此功能将取决于用户的兴趣.
您也可以在https://github.com/ng-bootstrap/ng-bootstrap/issues/754#issuecomment-247767027中查看更多背景信息
以上是大佬教程为你收集整理的angular-ng-bootstrap:实现自定义NgbDateParserFormatter以更改NgbInputDatepicker上的输入值的格式是否正确?全部内容,希望文章能够帮你解决angular-ng-bootstrap:实现自定义NgbDateParserFormatter以更改NgbInputDatepicker上的输入值的格式是否正确?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。