【问题标题】:md-datepicker view should display the months onlymd-datepicker 视图应该只显示月份
【发布时间】:2017-02-04 12:18:54
【问题描述】:

我正在做一个项目,我有一个 md-datepicker,我希望这个 md-datepicker 只显示一年中的月份(一月、二月等等......)。我该怎么做?

到目前为止,这是我的代码:

HTML

<md-datepicker ng-model="currentDate" md-current-view="month" md-date-filter="monthlyDate"></md-datepicker>

JS

var app = angular.module("DashboardApp", ['ngMaterial', 'ngAnimate','md.data.table']);
app.controller('rptController', ['$scope', function ($scope) {
$scope.currentDate = new Date();
$scope.monthlyDate = new Date($scope.currentDate.getMonth('MM'))}]);

【问题讨论】:

    标签: angularjs datepicker material-design angular-material


    【解决方案1】:

    听起来你想要一个 md-select 而不是 md-datepicker。请参见下面的示例。

    (function() {
      angular
        .module('exampleApp', ['ngAnimate', 'ngAria', 'ngMaterial'])
        .controller('ExampleController', ExampleController);
    
      function ExampleController() {
        var vm = this;
        vm.monthNames = ["January", "February", "March", "April", "May", "June",
          "July", "August", "September", "October", "November", "December"
        ];
      }
      ExampleController.$inject = [];
    })();
    <!DOCTYPE html>
    <html ng-app='exampleApp'>
    
    <head>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"></script>
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular-animate.min.js"></script>
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular-aria.min.js"></script>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.9/angular-material.min.css">
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.9/angular-material.min.js"></script>
    </head>
    
    <body ng-controller="ExampleController as vm">
      <md-input-container>
        <md-select ng-model="vm.chosenMonth" placeholder="Select a month">
          <md-option ng-value="month" ng-repeat="month in vm.monthNames">{{ month }}</md-option>
        </md-select>
      </md-input-container>
    </body>
    
    </html>

    【讨论】:

    • 感谢@ScottL,这正是我所做的,因为md-datepicker 还没有属性可以选择并仅显示月份或年份。我尝试使用md-current-view="year",但单击一个月后仍会显示天数。非常感谢您的帮助。
    【解决方案2】:

    使用最新版本的日期选择器可以做到这一点。您可以在下面设置md-mode="month"工作演示

    <md-input-container flex="100" layout="column">
              <div style="font-size: 10px; color: blue;" label ng-bind="::dateFields[2].label"></div>
              <md-datepicker ng-model="dateFields.selectedDate"
                         ng-required="dateFields.required"
                         md-date-locale="dateFields.locale"
                         md-mode="month"
                         md-open-on-focus="true">
            </md-datepicker>
        </md-input-container>
    

    DEMO

    【讨论】:

    • 我使用来自 CDN 的角度材料库,但它不起作用。似乎它只适用于来自 formhero 的库。为什么?
    • 知道了。更多信息github.com/angular/material/issues/9260
    • Sajeeth 我有一个类似这样的查询stackoverflow.com/questions/43584949/…
    • 如果我使用最新版本的 angular.min.js 对我来说效果很好。但是如果我想要日月年格式意味着我该怎么办?它不工作。
    • 为什么他们没有记录下来?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2018-08-16
    • 2018-06-28
    • 2018-10-24
    • 1970-01-01
    相关资源
    最近更新 更多