我正在寻找一种方法,可以根据用户选择在ngbDatepicker控件上的不同日期格式(例如mm-dd-yyyy / dd-mm-yyyy)之间进行切换。
感谢任何想法/帮助。
答案 0 :(得分:0)
当然(不可能是什么)。但是在必要之前,您不了解DateParserFormater和DateAdapter参见this question in stackoverflow
在您的情况下,您只需要使用CustomDateParseFormat
好吧,我们唯一需要的是函数parsing / format和fromModel / toModel依赖于一个变量。我没有发现一种很棒的方式也可以注入服务
@Injectable({
providedIn: 'root',
})
export class MaskController{
mask:string="yyyy/MM/dd"
public setMask(mask)
{
this.mask=mask;
}
}
然后我们的CustomDateParserFormatter注入构造函数中
@Injectable()
export class CustomDateParserFormatter {
constructor(private maskController:MaskController){}
get mask()
{
return this.maskController.mask;
}
...
}
好吧,我们唯一需要做的就是根据“ mask”的值以及调用
来更改函数。maskController.setMask(...)
我们的ngbDatePicker可以根据需要工作。 Y在stackblitz中举了一个例子(只有两个“掩码”允许dd / MM / yyyy和yyyy / MM / dd)
注意:在stackblitz中,我也更改了dateFormat。完全不包含在提供程序中的CustomDateAdapter