从自定义md对话框中删除按钮md-autofocus

时间:2016-08-04 13:14:09

标签: mddialog

我有一个md-dialog https://codepen.io/patapron/pen/oLaxap

<md-button ng-click="answer('not useful')" >
 Not Useful
</md-button>
<md-button ng-click="answer('useful')" style="margin-right:20px;" >
  Useful
</md-button>

如何从按钮中删除md-autofocus?

目标:任何按钮必须预先选择灰色涂料。

2 个答案:

答案 0 :(得分:1)

有一种更简单的方法可以在不必编写自定义指令的情况下执行此操作。 Angular Material可以删除内置的自动对焦功能。

在您编写.show函数的控制器中,将focusOnOpen设置为false focusOnOpen: false

文档在此解释$mdDialog

enter image description here

以下是我看起来如何的例子

    function deleteMediaDialog() {
        var dialogData = {
        };

        $mdDialog.show({
            controller         : 'deleteMediaDialogController',
            controllerAs       : 'vm',
            templateUrl        : 'app/main/apps/scala-media/dialogs/delete/delete-dialog.html',
            parent             : angular.element($document.body),
            focusOnOpen        : false,
            clickOutsideToClose: true,
            locals             : {
                dialogData: dialogData
            }
        });
    }

答案 1 :(得分:0)

我是通过mysleft解决的。指令魔法

scope.$watch(function () { return ele.attr('class'); }, function () {
    if (ele.hasClass('md-focused')) {
        ele.removeClass('md-focused');
    }
});