2016-12-17 62 views
0

如何在我的日历上添加open on focus功能(与Microsoft Windows 7日历相似),如demo中我们使用angular materiel version1.0.1所示,请帮助我解决问题。Angularjs:在日历上打开焦点和月份选择器功能?

Thanks In advance. 
+0

您可以更新到Angular Material 1.1.1吗?如果是这样,您可以将'md-open-on-focus'指令添加到datepicker中。 – Jpod

+0

感谢您的回应,我如何在不更新角度材料1.1.1的情况下做到这一点? – user7303839

回答

0

你不得不在这种情况下添加自定义指令:

.directive('openOnFocus', function() { 
 

 
    function compile(tElement) { 
 
    tElement.find('input').attr('ng-focus', 'ctrl.onFocus($event)'); 
 

 
    return function (scope, element, attrs, datePicker) { 
 
     var focused = false; 
 

 
     datePicker.onFocus = (event) => { 
 
     focused = !focused; 
 

 
     if(focused) { 
 
      datePicker.openCalendarPane(event); 
 
     } 
 
     }; 
 
    }; 
 
    } 
 

 
    return { 
 
    compile: compile, 
 
    priority: -1, 
 
    require: 'mdDatepicker', 
 
    restrict: 'A' 
 
    }; 
 
});

然后:

<md-datepicker open-on-focus></md-datepicker>

从这个GitHub的评论摘自:

https://github.com/angular/material/issues/4650#issuecomment-191930096

+0

感谢您的努力,请您指出它的工作示例。它不能按预期演示工作(http://plnkr.co/edit/dbR7K1bngMaF7iO4S09o?p=preview)..日历图标必须是可点击的1.1.1((material.angularjs.org/latest/demo/datepick er ))版本日历是可点击的,当我们点击(十二月2016)它给几个月和很快......但你的演示不? – user7303839

+0

当您点击日历图标时,链接中的日历看起来像是打开的?不知道是什么问题 – Jpod

+0

为它增加了新的问题http://stackoverflow.com/questions/41250474/how-to-extend-datepicker-directive-with-monthpicker-in-calendar-pane请看看 – user7303839

相关问题