2

我在不使用 ng-disabled 和 ng-click 的情况下如何解决实现按钮刷新(启用/禁用)的问题

我已向我的指令发送以下配置(一个或多个按钮)

buttonsConfig() {
  var button1 = {
    icon: '<i class="fa fa-check"></i>',
    name: button,
    actionEvent: () => { this.openConfirm(); },
    order: 1,
    active: false,
    large: true
    }
}

这是我如何动态制作 HTML 并检查禁用/启用按钮的配置文件

link: ng.IDirectiveLinkFn = ($scope: IActionBarScope, $element: ng.IAugmentedJQuery, $attrs: ng.IAttributes) => {
            var navbar = this.drawActionBar($scope.config);

            var padder = angular.element('<div id="padder" ng-if="action.isOpen"></div>');
            this.$compile(navbar)($scope);
            this.$compile(padder)($scope);

            $element.append(navbar, padder);
                }

        setupButtonActions(element: ng.IAugmentedJQuery, config) {
            if (config.actionEvent != null) {
                if (config.active === false) { //skip undefined or true
                    element.addClass("disabled");
                } else {
                    element.removeClass("disabled");
                    element.mouseup(config.actionEvent);
                }
            }
        }

在我的指令中,我在动态 HTML 网格 (CSS) 上生成 html 按钮(小/大),所以我不知道如何绑定该按钮启用/禁用。

在使用我的指令之前,我使用了:

<button ng-if="!ctrl.isReadOnly" type="submit" class="btn btn-flat btn-primary" ng-disabled="!ctrl.selectedAreReady()" ng-click="ctrl.openConfirm()"><i class="fa fa-check"></i> {{'button' | translate}}</button>

这一切都是在 html 中静态完成的,没有编码,所以我通过ng-disabled=ctrl.selectedAreReady() 发送按钮是否启用。

检查之前(禁用按钮) 在此处输入图像描述

检查后(按钮已启用) 在此处输入图像描述

4

1 回答 1

0

如果您不想禁用 ng,您可以使用 javascript 相关的 API。

document.getElementById("myBtn").disabled = true;

如果要再次启用按钮,可以将其设置为false

于 2017-03-22T12:40:12.580 回答