Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

212
Views
¿Cómo se puede cambiar el tiempo de ejecución del adaptador de selector de fecha en el selector de fecha de material angular?

Tengo un proyecto angular, en este proyecto necesito usar el material angular Datepicker para seleccionar Fecha.

Mi proyecto es compatible con varios idiomas, y cuando cambio el idioma, necesito cambiar el valor del selector de fecha con el Adaptador de material angular por tiempo de ejecución de fecha local de idioma.

Por ejemplo, tengo el idioma persian y us-en en mi proyecto. Necesito cuando el idioma cambie a persian , el selector de fechas configure el PersianAdapter y cuando seleccione el idioma us-en , debe configurar Gregorian Adapter .

Cuando la página se vuelve a cargar, verifica el valor del idioma y establece el valor para el selector de fecha, pero necesito cambiar el valor de datepicket sin actualizar la página.

Estoy usando este código para el proveedor:

 import { MaterialPersianDateAdapter, PERSIAN_DATE_FORMATS } from './material.persian-date.adapter'; import { GregorianDateAdapter } from './gregorian-date-adapter'; import { MAT_MOMENT_DATE_FORMATS } from './moment-date-format'; export function createDateProvider() { const lang = localStorage.getItem('language'); if (lang === 'fa') { return new MaterialPersianDateAdapter(); } else { return new GregorianDateAdapter(); } } export function getDateFormat() { const lang = localStorage.getItem('language'); if (lang === 'fa') { return PERSIAN_DATE_FORMATS; } else { return MAT_MOMENT_DATE_FORMATS; } }

Módulo:

 providers: [ { provide: DateAdapter, useFactory: createDateProvider, deps: [MAT_DATE_LOCALE] }, { provide: MAT_DATE_FORMATS, useFactory: getDateFormat } ]

Cuando cambio el idioma al actualizar la página, funciona bien, pero cuando necesito cambiar el valor del proveedor para cambiar el valor del selector de fecha por el tiempo de ejecución del idioma, no funciona.

Escribí este código pero no funciona:

 ngOnInit() : void { let injector = Injector.create([{ provide: DateAdapter, useValue: MaterialPersianDateAdapter, deps: [MAT_DATE_LOCALE] }, { provide: MAT_DATE_FORMATS, useFactory: getDateFormat } ]); }

¿Cómo puedo cambiar el adaptador datepicker para el idioma seleccionado?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!