これは私のコードです。 Angular Materialを使用しています。月と年のみを表示するようにカレンダーを設定するにはどうすればよいですか?
<input matInput [matDatepicker]="picker" readonly>
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker startView="year" [startAt]="startDate"></mat-datepicker>
この機能は最近プルリクエストで追加されたようです
ビューを設定できます
this._activeDate = this._monthView ?
this._activeDate = this._currentView == 'month' ?
ただし、これは、モードを次のように設定することで、angularjs-materialで可能でした。
md-mode="month"
Angular月と年のマテリアル日付ピッカー-
app.js
var app = angular.module('plunker', ['ngMaterial']);
app.controller('MainCtrl', function($scope) {
var monthFormat = buildLocaleProvider("MMM-YYYY");
function buildLocaleProvider(formatString) {
return {
formatDate: function (date) {
if (date) return moment(date).format(formatString);
else return null;
},
parseDate: function (dateString) {
if (dateString) {
var m = moment(dateString, formatString, true);
return m.isValid() ? m.toDate() : new Date(NaN);
}
else return null;
}
};
}
$scope.dateFields = [
{
type: 'date',
required: false,
binding: 'applicant.expectedGraduation',
startView: 'month',
label: 'Credit Card Expiry - Year/Month picker',
mode: 'month',
locale: monthFormat
}
];
});
index.html
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS material-sidenav Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="https://static.formhero.io/formhero/js/material/v1.1.1-fh-build/angular-material.min.css">
<link rel="stylesheet" href="style.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment-with-locales.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://static.formhero.io/formhero/js/material/v1.1.1-fh-build/angular-material.min.js"></script>
<script src="app.js"></script>
</head>
<body layout="row" layout-wrap flex layout-fill layout-align="start start" ng-controller="MainCtrl">
<md-input-container flex="100" layout="column">
<div style="font-size: 10px; color: blue;" label ng-bind="::dateFields[0].label"></div>
<md-datepicker ng-model="dateFields[0].selectedDate"
ng-required="dateFields[0].required"
md-date-locale="dateFields[0].locale"
md-mode="{{dateFields[0].mode}}"
md-open-on-focus="true">
</md-datepicker>
</md-input-container>
</body>
</html>
以下のリンクを使用してデモンストレーションを行います- https://plnkr.co/edit/zXhgq3?p=preview