angular - 如何在 Angular 2 Material Design 中使 MdDialog 可拖动(可移动)

标签 angular angular2-template angular-material2

我正在使用 Angular2 及其 Material Design( https://material.angular.io ) 创建一个小型网络应用程序,我在其中使用 MdDialog 来使用以下代码显示对话框:

import {Component} from '@angular/core';
import {MdDialog, MdDialogRef} from '@angular/material';


@Component({
  selector: 'dialog-result',
  templateUrl: './dialog-result.html',
})
export class DialogResult {
  selectedOption: string;

  constructor(public dialog: MdDialog) {}

  openDialog() {
    let dialogRef = this.dialog.open(Dialog);
    dialogRef.afterClosed().subscribe(result => {
      this.selectedOption = result;
    });
  }
}


@Component({
  selector: 'dialog',
  templateUrl: './dialog.html',
})
export class Dialog {
  constructor(public dialogRef: MdDialogRef<Dialog>) {}
}

我想让对话框可以使用鼠标拖动或移动,这样我也可以看到我的页面内容。

最佳答案

我正在使用 Draggabilly 库。

当打开一个对话框组件时,在选项中传递一个服装'panelClass':

let dialogRef = this.dialog.open(Dialog, {
    panelClass: 'dialog-container'
});

然后,在对话框组件 ngOnInit 钩子(Hook)中初始拖动:

const holder = new draggablilly('.dialog-container');

关于angular - 如何在 Angular 2 Material Design 中使 MdDialog 可拖动(可移动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916202/

相关文章:

css - 通过Angular中的插值将CSS应用于 typescript 变量的某些部分

javascript - Rxjs 中不存在 Angular 6 throttleTime

angular - 如何将服务变量传递到 Angular Material 对话框中?

typescript - Webstorm、TypeScript、Angular2、Transpiler、重复标识符错误消息

angular - onbeforeunload 确认对话框在使用 angular2 @HostListener 时不显示

angular - 创建一个可以在 Angular 4 模板中使用的全局函数

angular - 动态更改 Angular 4 组件的模板

forms - Angular 2 : Can't bind to 'ngModel' since it isn't a known property of 'input'

html - 如何使用 `dir="auto "` with Angular Material' s textarea?

angular - 隐藏 Angular Material 2 表、特定标题及其列