Javascript 打开md日历时滚动到当前日期
目前正在构建一个应用程序,其中我们需要一个md日历组件。我们希望自定义按钮样式和内容,因此不使用普通的md日期选择器。问题是,当md日历打开时,滚动位置为1933。当前日期设置正确 如何将滚动位置设置为当前日期 md datepicker使用md calendar作为子组件,其中日历滚动到当前日期,因此不应该很难实现 当前的解决方法是将md min date属性设置为接近当前日期的日期,但这不是一个好的解决方案,因为它禁止导航到更早的日期 代码笔示例:Javascript 打开md日历时滚动到当前日期,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,目前正在构建一个应用程序,其中我们需要一个md日历组件。我们希望自定义按钮样式和内容,因此不使用普通的md日期选择器。问题是,当md日历打开时,滚动位置为1933。当前日期设置正确 如何将滚动位置设置为当前日期 md datepicker使用md calendar作为子组件,其中日历滚动到当前日期,因此不应该很难实现 当前的解决方法是将md min date属性设置为接近当前日期的日期,但这不是一个好的解决方案,因为它禁止导航到更早的日期 代码笔示例: Wll首先,我尝试升级到最新的angula
Wll首先,我尝试升级到最新的angular material v1.1.10
,这是我在尝试回答此问题时得到的解决方案,但这样做无助于解决您的问题,尽管您可以升级到最新版本,如果您想消除一些bug的话
无论如何,问题是由于未正确初始化md datepicker
造成的,原因可能有很多,我的解决方案是使用可靠的ng if
重新初始化md日历
,这样做可以解决此问题
注意:使用ng if
将创建一个隔离的作用域,因此可能存在$scope
变量未正确更新的情况,在这些情况下,您需要使用$parent
属性来解决此问题,请参阅。
angular.module('myApp',['ngMaterial'])。controller('AppCtrl',function($scope){
$scope.myDate=新日期();
$scope.minDate=新日期(
$scope.myDate.getFullYear(),
$scope.myDate.getMonth()-2,
$scope.myDate.getDate());
});
/*
版权所有2016谷歌公司。保留所有权利。
此源代码的使用受麻省理工学院风格的许可证管理,该许可证可在以下位置的许可证文件中找到:https://material.angularjs.org/license.
*/
选择日期
选择日期(使用最小日期)