Angular Material 2 DatePicker için Custom DateAdapter ile çalışma.

Bu, Medium'daki ilk Blog Postam ve aynı zamanda Angular Material ile ilgili herhangi bir şey yazıyorum . Materyal 2 projesi yeniden yazıldı ve sürekli geliştiriliyor (Beta aşaması). Materyal ekibi, yeni bileşenleri yayınlamak, sorunları çözmek ve Angular geliştiricilerin hayatını kolaylaştırmak için harika bir iş çıkarıyor :).

Blogumun konusuna geri dönersek : Custom DateAdapter . Son zamanlarda projemde, özel bir tarih biçimi (YYYY-AA-GG) sağlamam gereken bir senaryo vardı, bu biçim, tarih seçici bileşeni (AA / GG / YYYY) tarafından sağlanan varsayılan biçimden farklı. Belgeler, özel bir tarih formatı oluşturmanın (herhangi bir formatta olabilir) DateAdapter'ı genişletmek kadar kolay olduğunu söylüyor (Bana güvenin, benim için kolay değildi.), Ancak aynısı için bir örnek henüz web sitesinde mevcut değil . Bu yüzden, Github sorunları sayfasında, Stackoverflow'da biraz araştırma yaptım ve birçok örnekle kendi Custom DateAdapter'ımızı uygulamanın yolunu buldum.

Burada paylaşmak istediğim bir tarih seçici.module dosyası oluşturdum. Bu internette bulunmayan bir şey değil, sadece onu anlamam bir zaman aldı ve bu yüzden bu modülü özel bir tarih adaptörü oluşturmak isteyenler için örnek olarak almanın harika olacağını düşündüm.

// Custom DateAdapter
import {NgModule} from '@angular/core';
import {MdDatepickerModule, MdNativeDateModule, NativeDateAdapter, DateAdapter, MD_DATE_FORMATS} from '@angular/material';

// extend NativeDateAdapter's format method to specify the date format.
export class CustomDateAdapter extends NativeDateAdapter {
   format(date: Date, displayFormat: Object): string {
      if (displayFormat === 'input') {
         const day = date.getUTCDate();
         const month = date.getUTCMonth() + 1;
         const year = date.getFullYear();
         // Return the format as per your requirement
         return `${year}-${month}-${day}`;
      } else {
         return date.toDateString();
      }
   }
   
   // If required extend other NativeDateAdapter methods.
}

const MY_DATE_FORMATS = {
   parse: {
      dateInput: {month: 'short', year: 'numeric', day: 'numeric'}
   },
   display: {
      dateInput: 'input',
      monthYearLabel: {year: 'numeric', month: 'short'},
      dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
      monthYearA11yLabel: {year: 'numeric', month: 'long'},
   }
};

@NgModule({
   declarations: [],
   imports: [],
   exports: [MdDatepickerModule, MdNativeDateModule],
   providers: [
      {
         provide: DateAdapter, useClass: CustomDateAdapter
      },
      {
         provide: MD_DATE_FORMATS, useValue: MY_DATE_FORMATS
      }
   ]
})

export class DatePickerModule {

}

Tüm Angular Team'e teşekkürler .

Bu benim ilk blog yazım için. Herhangi bir geri bildiriminiz / öneriniz varsa veya herhangi bir hata bulursanız bana bildirin. Teşekkürler!

Suggested posts

En çok kullandığım kodlama kaynaklarım

En çok kullandığım kodlama kaynaklarım

Bu hafta, günlük e-posta listesinin bir üyesinden bir e-posta aldım. Bilmek istediler: Günlük, haftalık ve aylık olarak hangi kaynakları ziyaret ediyorsunuz? Harika soru! İş akışım ve kullandığım en önemli kaynaklar hakkında bazı bilgileri paylaşmaya çalışmaktan mutluluk duyuyorum.

Lit library serisi — 1: lit-html Kitaplığına Derin Bir Dalış

Lit library serisi — 1: lit-html Kitaplığına Derin Bir Dalış

Bu blog dizisinin amacı, Lit kitaplığının derinliklerine inmek ve benzersiz özelliklerini ve kendisini piyasadaki diğer kitaplıklardan ve çerçevelerden nasıl ayırdığını kapsamlı bir şekilde anlamaktır. Seri, 1 gibi konuları kapsayan üç bölüme ayrılmıştır.

Related posts

Goodreads Okuma Yarışması Zehirlidir

Goodreads Okuma Yarışması Zehirlidir

Elimdeki kaşıntı, yerel kitapçıyla başka bir kitap için pazarlık yaparken yayıldı. Son zamanlarda satın aldığım diğerleri gibi bu kitap da tahtını 'Okunacak' (TBR) yığınımda bulacaktı; ve yine de satın aldım.

MY24'te karbon gideriminin finanse edilmesi

Yollar boyunca Carbon180'in ödenek taleplerinin dökümü

MY24'te karbon gideriminin finanse edilmesi

Alyson Lee, yönetici devlet işleri danışmanı Federal hükümetin yıllık ödenek süreci, karbon dioksit giderimini (CDR) finanse etme çabalarımızın merkezinde yer alır. Carbon180 her yıl, gelecek yılın dolarının nereye akacağını yönlendirmeye yardımcı olmak için çeşitli kongre ofislerine talepler sunar.

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.

Ağ TV Twitter

Ağ TV Twitter

Eski olan şimdi tekrar yeni ve eskiden ışıltılı parlak olan şey şimdi sıkıcı geliyor. 1990'ların sonundaki diğer modalarla birlikte şehir merkezindeki havalı çocuklar arasında geri dönüş yapan JNCO kot pantolonlarından bahsetmiyorum.