2016-11-14 94 views

回答

3

您可以使用开发工具检查对话框元素,并查看mdDialog上应用了哪些类。

例如,.md-dialog-container是MDDialog的主要CLASSE并具有填充:24px的

您可以创建自定义的CSS覆盖任何你想要的

.md-dialog-container { background-color: #000; width: 250px; height: 250px }

在我看来,这不是一个很好的选择,可能会违背材质指南,但由于它没有它以前版本中的所有功能,因此您应该按照您认为最适合您的方式进行操作。

+0

谢谢,我最终添加了一个DIV和样式。 –

+0

这不适用于这个对话框 - https://material.angular.io/components/component/dialog ..更改不适用 – bukajcihaj

+0

@bukajcihaj据我所知,角度材料的CSS类已经改变了一点,所以,就像我在我的回答中所说的那样,使用开发工具来查看哪些类应用于对话框并且覆盖它们。你也可以看下面的答案。 –

16

md-dialog-content中的内容可自动滚动。

您可以在通话大小手动设置为MdDialog.open

let dialogRef = dialog.open(MyComponent, { 
    height: '400px', 
    width: '600px', 
}); 

更多文档/滚动和尺寸的例子: https://material.angular.io/components/dialog/overview

应该由你的主题确定一些颜色。看到这里的主题文档: https://material.angular.io/guide/theming

如果你想覆盖颜色等,使用埃尔默的技术,只是添加适当的CSS。

请注意,您必须在页面上的HTML 5 <!DOCTYPE html>为你的对话框的大小,以符合正确的内容(https://github.com/angular/material2/issues/2351

9

有两种方法,我们可以使用在改变你的MdDialog组件的大小角材料

1)从外部部件,其呼叫对话框组件

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


dialogRef: MdDialogRef <any> ; 

constructor(public dialog: MdDialog) { } 

openDialog() { 
     this.dialogRef = this.dialog.open(TestTemplateComponent, { 
      height: '40%', 
      width: '60%' 
     }); 
     this.dialogRef.afterClosed().subscribe(result => { 
      this.dialogRef = null; 
     }); 
    } 

2)从内部对话框组件。在对话单元的任何函数动态地改变其大小

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

constructor(public dialogRef: MdDialogRef<any>) { } 

ngOnInit() { 
     this.dialogRef.updateSize('80%', '80%'); 
    } 

使用updateSize()。它会自动改变对话框的大小。

更多信息,检查此链接https://material.angular.io/components/component/dialog

0

有关最新版本的角,因为这帖子,看来你必须首先创建一个MatDialogConfig对象,并把它作为第二个参数来dialog.open(),因为Typescript期望第二个参数是MatDialogConfig类型。

const matDialogConfig = new MatDialogConfig(); 
matDialogConfig.width = "600px"; 
matDialogConfig.height = "480px"; 
this.dialog.open(MyDialogComponent, matDialogConfig); 
2

我想你需要使用/deep/,因为你的CSS可能看不到你的模态类。例如,如果你想定制.modal-dialog

/deep/.modal-dialog { 
    width: 75% !important; 
} 

但这个代码将修改所有的模态窗口,更好的解决方案将是

:host { 
    /deep/.modal-dialog { 
    width: 75% !important; 
    } 
} 
0

共享上垫对话框 2种实现的方式获取最新这... 1)或者你在打开 例如设置宽度和高度

let dialogRef = dialog.open(NwasNtdSelectorComponent, { 
     data: { 
      title: "NWAS NTD" 
     }, 
     width: '600px', 
     height: '600px', 
     panelClass: 'epsSelectorPanel' 
    }); 

或 2)使用panelClass和风格它相应。

1)最简单,但2)更好,更可配置。