Permitimos a los usuarios cambiar su configuración regional preferida en nuestra aplicación web. Configuré la configuración regional de dayjs() usando una variable como esta:
var localeAbbr = '@server_generated_abbr'; dayjs.locale(localeAbbr);Sin embargo, también les permitimos elegir su primer día de la semana preferido (que puede entrar en conflicto con su configuración regional y el archivo de configuración local de dayjs). ¿Cómo puedo anular la configuración local única del primer día de la semana? ¿Cómo aplicaría la siguiente variable?
var firstDayOfWeek = @server_generated_var;ACTUALIZAR
Me di cuenta de que se supone que debo ser capaz de hacer esto:
dayjs.locale(localeAbbr, { weekStart: firstDayOfWeek });Esto técnicamente funciona si solo se usan funciones de manipulación de fechas, pero hace que la función format() sea inútil, lo que siempre genera un error de JS. Es un error en la biblioteca que se planteó en GitHub pero aparentemente nunca se solucionó.
Cannot read property '7' of undefinedPuedo superar el problema y "resolver" mi problema usando lo siguiente (usando ASP.Net razor)
dayjs.locale('@locale'); dayjs.Ls.@(locale).weekStart = @(firstDayOfWeek);Que en mi caso se procesa y funciona como se esperaba.
dayjs.locale('en'); dayjs.Ls.en.weekStart = 1;Me gustaría usar el método preferido, pero hasta que se solucione el error, no puedo. Espero que esto ayude a alguien más que tenga el mismo problema que yo.