【问题标题】:How to change message "Invalid Date" in ngx bootstrap datepicker without being in node modules如何在 ngx bootstrap datepicker 中更改消息“无效日期”而不在节点模块中
【发布时间】:2018-05-18 16:21:25
【问题描述】:

我更改了日期选择器的语言,但出现的消息仍然是英文。我知道它在 ngx-bootstrap / chronos / locale / locale.defaults.ts 里面,它带来了以下信息

export declare const defaultInvalidDate = "Invalid date";

我也想更改此消息。是否有任何信息我必须添加到“输入 [bsConfig] = ... 无论如何,我可以在哪里更改此消息而不移动节点模块文件夹?谢谢。

【问题讨论】:

  • 嗨。你设法解决了吗?我们面临同样的问题。我们需要根据加载的语言环境应用不同的文本。
  • 不...问题仍然存在。 :(

标签: angular datepicker locale ngx-bootstrap


【解决方案1】:

我终于成功了:

您可以导入您的LocaleData 对象和函数defineLocale

import {enGbLocale} from 'ngx-bootstrap/locale';
import {BsLocaleService, defineLocale} from 'ngx-bootstrap';

然后,在您的构造函数中,您可以访问enGbLocale 的每个属性并对其进行修改:

constructor(private localeService: BsLocaleService) {
    enGbLocale.invalidDate = 'Custom label';
    defineLocale('custom locale', enGbLocale); 
    this.localeService.use('custom locale');
}

【讨论】:

  • 这个我在哪里...在我使用日期选择器的页面的 TS 文件中...在 app.module.ts 中??
  • 是的,您在使用日期选择器的组件中执行此操作。 Here's an example
  • @GuilhermeSester 如果您在应用程序的多个组件中使用日期选择器,我建议您覆盖 app.module.ts 中的消息
【解决方案2】:

创建一个适配器以将默认的BsDatepickerConfig 覆盖为不会触发错误的格式

在包含 BsDatePicker 的主模块中

@NgModule({
  providers: [
    { provide: BsDatepickerConfig, useFactory: NaoDatepickerConfig },
    ....
  ]
}

nao-date-picker.adapter.ts

import { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';

export function NaoDatepickerConfig(): BsDatepickerConfig {
  return Object.assign(new BsDatepickerConfig(), {
    dateInputFormat: 'YYYY-MM-DD'
  });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2019-10-19
    相关资源
    最近更新 更多