【问题标题】:Issue with inputs and their labels showing ontop of pop-up mdDialog输入及其标签显示在弹出 mdDialog 顶部的问题
【发布时间】:2019-08-28 17:27:13
【问题描述】:

我正在使用 mdDialog 从我的页面创建一个弹出窗口,但是原始页面中的一些内容显示在 mdDialog 的顶部

这是我的弹出窗口如何呈现的链接:

看起来标签和所述输入标签的标签都呈现在我的 md-dialog 之上

我是如何生成弹出窗口的:

$scope.openTutorial = function(ev){
 $mdDialog.show({
  controller: TutorialController,
  templateUrl: 'partials/tutorial.html',
  parent: angular.element(document.body),
  targetEvent: ev,
  clickOutsideToClose:true,
  fullscreen: $scope.customFullscreen
 });
};

function TutorialController($scope, $mdDialog, DashFactory) {
 $scope.hide = function() {
 $mdDialog.hide();
 };
}

预期结果是任何不属于此弹出窗口的内容都将隐藏在弹出窗口下,直到它被解除

enter image description here

【问题讨论】:

  • 链接无效...

标签: angularjs angularjs-material


【解决方案1】:

我解决了我的问题,我认为可以解决我的问题,O 将 ng-hide 添加到我的麻烦的 HTML 项目中,然后扩展我的 mdDialog 以具有 onShowing 和 onRemoving 函数来翻转一些标志以隐藏项目

$scope.openTutorial = function(ev){
  $mdDialog.show({
    onShowing: function(){
      $scope.tutorialOpen = true;
    },
    controller: TutorialController,
    templateUrl: 'partials/tutorial.html',
    parent: angular.element(document.body),
    targetEvent: ev,
    clickOutsideToClose:true,
    fullscreen: $scope.customFullscreen,
    onRemoving: function(){
      $scope.tutorialOpen = false;
    }
  });
};

虽然这可以完成工作,但我确实认为 mdDialog 没有按设计工作,因为默认情况下它应该位于这些项目之上。

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2016-05-17
    • 2021-11-04
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多