angular - تعریف/معنای فیلدهای MAT_DATE_FORMATS


مثال متریال برای سفارشیسازی فرمتهای تجزیه و نمایش برای انتخابگر تاریخ از MAT_DATE_FORMATS سفارشی استفاده میکند

export const MY_FORMATS = {
  parse: {
    dateInput: 'LL',
  },
  display: {
    dateInput: 'LL',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  },
};

من نتوانستم پیدا کنم که این فیلدها مانند dateA11yLabel کجا و چگونه وارد عمل میشوند. چیزی که توانستم بفهمم این بود که display.dateInput برای نمایش تاریخ انتخابشده روی تقویم استفاده میشود و display.monthYearLabel در منوی کشویی انتخاب سال استفاده میشود.

  1. باقیمانده فیلدها در کجا استفاده میشوند؟
  2. هنگام نوشتن MAT_DATE_FORMATS سفارشی، آیا تعریف همه فیلدها الزامی است؟

پاسخ شماره ۱

خب، من متوجه موارد زیر شدم:

 parse: {

    dateInput: 'DD.MM.YYYY',
  }, 
  display: {

    dateInput: 'DD.MM.YYYY',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM-YYYY',
  },
  • با parse.dateInput: شما میتوانید به کاربر اجازه دهید هر نوع تاریخی با هر فرمتی وارد کند، و مبدل تاریخ آن را به فرمت مشخص شده در این ویژگی بازفرمت میکند

  • با display.dateInput میتوانید فرمت تاریخ ورودی را مشخص کنید (با شماره 1 علامتگذاری شده است)

  • display.monthYearLabel شما میتوانید ناحیهای که با 2 علامتگذاری شده است را مشخص کنید

متأسفانه، هنوز درباره بقیه نمیدانم!

پاسخ شماره ۲

A11Y - به معنی دسترسیپذیری است. اینجا نگاه کنید https://material.angular.io/cdk/a11y/overview و اینجا https://material.angular.io/components/datepicker/overview#accessibility

با توجه به این، من فکر میکنم این فرمتها برای نمایش انتخابگر تاریخ زمانی که حالت دسترسی فعال است استفاده میشوند.