2017-07-19 4 views
1

角度材料(md-datepicker)を使用しています。私の要件は、選択に基づいて異なる日付形式を設定することです。すなわち、ユーザが 'daily'を選択した場合、datepickerは 'MM/DD/YYYY'と表示されます。ユーザーが '毎月' を選択した場合、その後日付ピッカーは 'MMMのYYYY' と '時給' のため表示する必要があり、それがあるべき 'MM/DD/YYYYのHH:MM'角度材料(md-datepicker) - 異なる日付フォーマットを1ページの異なる日付ピッカーに設定する方法

https://plnkr.co/edit/S4mnF7?p=preview

はそれがMD-日付ピッカーを使用して実現可能ですか?私は、HTMLでフォーマットプロパティを設定するオプションはありません。 $mdDateLocaleProviderの文書を見ました。しかし、異なるフォーマットを異なるコントロールに設定するオプションはありません。

答えて

0

$mdDateLocaleProviderformatDate機能を使用すると、日付形式を設定できます。日付オブジェクトを文字列にフォーマットする機能。 datepickerディレクティブは、指定されている場合は、タイムゾーンも提供します。

そして、DatePickerのディレクティブで

は、あなたが md-date-locale属性を使用することができます。これは、要素ごとのベースでovewrittenする$ mdDateLocaleProviderからの値を可能にします(例えばmsgOpenCalendarは{ "= MD-日付ロケールで上書きすることができますmsgOpenCalendar: '特別なカレンダーを開く'}」)。以下のような

何か:

<md-datepicker ng-model="myDate" md-date-locale="mylocale"></md-datepicker> 
<md-datepicker ng-model="myOtherDate" md-date-locale="myOtherlocale"></md-datepicker> 

とコントローラ

$scope.mylocale = { 
    formatDate: function(date) { 
    var m = moment(date); 
    return m.isValid() ? m.format('YYYY') : ''; 
    } 
}; 
$scope.myOtherlocale = { 
    formatDate: function(date) { 
    var m = moment(date); 
    return m.isValid() ? m.format('MMMM YYYY') : ''; 
    } 
}; 

https://embed.plnkr.co/u9wY3rvtpmXdQ7zrbMpB/

+0

完璧で!!これはまさに私が探していたものです。答えてくれてありがとう – CPatel

関連する問題