- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经使用 angular MatDialog 实现了一个模态对话框来代替 alert() 函数。一切正常,但对话框的定位。我无法设法将对话框放在页面的中央。该对话框始终出现在页面的左下角。
html 文件如下所示:
<h2>Oups! Something went wrong.</h2>
<p>{{error}}</p>
<button class="btn-outline-primary" mat-dialog-close>OK</button>
这是打开对话框的函数
private openDialog(error: string) {
const dialogConfig = new MatDialogConfig();
dialogConfig.data = {
error: 'This is a test'
}
dialogConfig.disableClose = false;
dialogConfig.hasBackdrop = false;
dialogConfig.autoFocus = false;
dialogConfig.width = '600px';
dialogConfig.height = '200px';
this.dialog.open(ErrorDialogComponent, dialogConfig);
}
和组件类:
import {Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA} from "@angular/material";
@Component({
selector: 'app-error-dialog',
templateUrl: './error-dialog.component.html',
styleUrls: ['./error-dialog.component.scss']
})
export class ErrorDialogComponent {
error: string;
constructor(@Inject(MAT_DIALOG_DATA) data) {
this.error = data.error;
}
}
最佳答案
此代码位于您要打开对话框的任何组件中。您必须引用 MatDialog。 mdRef是对象打开后的实例。
// getConfig returns a matDialogConfig with the data
mc = this.getConfig(data);
// Tell Matdialog which Angular component to use.
mdRef = this.md.open(MessageComponent, mc);
消息组件
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
import { Component, OnInit, AfterViewInit, Inject } from "@angular/core";
import { inject } from "@angular/core/testing";
@Component({
selector: "lib-message",
templateUrl: "./message.component.html",
styleUrls: ["./message.component.css"],
})
export class MessageComponent implements OnInit, AfterViewInit {
constructor(@Inject(MAT_DIALOG_DATA) public data: any) {
// get the injected dialog data
this.data = data;
}
ngOnInit(): void {}
ngAfterViewInit() {}
}
还有CSS
:host {
display: grid;
justify-content: center;
align-items: center;
background-color: yellow;
position: absolute;
top: 10em;
left: 20em;
height: 10em;
width: 20em;
box-shadow: 0 0 5px rgb(0, 0, 0, 0.27);
}
总结:消息组件的css覆盖了cdkOverlay的默认设置!
关于javascript - 将 Angular MatDialog 居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354525/
我正在对我的应用程序进行单元测试。我是测试新手,因此需要您的帮助。 在我的应用程序中,我创建了一个使用 MatDialog (KDSDialogService) 的服务。我尝试过将许多导入替代方案、我
我正在对我的应用程序进行单元测试。我是测试新手,因此需要您的帮助。 在我的应用程序中,我创建了一个使用 MatDialog (KDSDialogService) 的服务。我尝试过将许多导入替代方案、我
现在可以在两个组件之间进行通信。但不知道如何通过事件发射器将用户(选定)输入的值作为对象从 MatDialog 组件传递到父组件。在这里,我想在单击提交按钮后将选定的选项值和文本区域值作为对象传递。
我是编码新手,也是 Angular 新手,所以我想我会寻求一些帮助。这是我的第一个问题,请耐心等待。 我想为 Angular Material Dialog Service 创建一个包装服务(我只是想
我想向我的应用程序添加一个对话框,但由于某种原因它没有显示。 对话框组件: import { Component, OnInit } from '@angular/core'; import {Mat
它不是作为停留弹出窗口打开,而是作为页面底部左对齐的 block 打开。 我搜索了类似的问题,找到了这个angular2 MdDialog is not appearing as a popup但也不
我正在尝试使用 MatDialog 并基于 this example我已经按如下方式实现了该对话框: import {Component, Inject, OnInit} from '@angular
我正在关注 here 中的文档.我可以将数据传递给对话框,但我没有从中获取数据。我在 .afterClose().subscribe() 上得到了未定义的结果。我错过了什么?我猜我需要在对话框的模板中
我目前正在做一个 Angular 项目。我使用 MatDialog来自 Angular Material 和 drag and drop 的 Angular 模块.我想防止对话框被拖到屏幕窗口之外。有
打开 MatSelect 时在常规页面中,可以通过 MAT_SELECT_SCROLL_STRATEGY 自定义滚动行为注入(inject) token 并使用 NoopScrollStrategy为
如果他空闲 20 分钟,我想提醒用户。所以,创建了一个服务。 它在桌面上运行良好,但在手机中它没有显示,有时如果屏幕在后台停留了几个小时,那么一旦我再次进入页面,注销对话框屏幕就会开始倒计时。 我的意
假设您有 Angular 服务,但没有 ProvideIn,因此它仅在某些组件及其子组件中可用。现在,这样一个组件打开了 MatDialog——是否可以在那里注入(inject)该服务? 正如我所见,
如何将数据发送到作为 ng-template 的 MatDialog? 模板 Open {{data?}} 组件 export class SomeComponent { @Vi
我目前正在使用一个组件,在该组件中单击按钮将打开一个弹出窗口来问候用户。我正在使用 Angular Material Dialog 打开弹出窗口,点击时将调用的组件代码块是 public openMa
完全改写的问题 : 我试图简化问题,因为我理解我最初写下它的方式非常复杂;以下是问题的更简单表示,尽管问题的表示略有不同。 我需要一种方法在顶级组件(即“app”组件)中创建服务的两个实例,并将每个实
是否可以将自定义 CSS 摇动动画添加到 Material MatDialog(例如,如果您在 Form-Dialog 中输入了错误的信息)? 由于对话框是通过 MatDialog 服务实例化的,我不
我已经使用 angular MatDialog 实现了一个模态对话框来代替 alert() 函数。一切正常,但对话框的定位。我无法设法将对话框放在页面的中央。该对话框始终出现在页面的左下角。 html
我已经阅读了几个答案,并且尝试了很多,但我似乎无法让它发挥作用。在我的 Angular 6 应用程序中,我尝试打开一个 MatDialog 但我收到此错误: ERROR Error: Expressi
我试图为重新定位策略中的对话框制作滚动条,但它对我不起作用。 const scrollStrategy = this.overlay.scrollStrategies.reposition(); co
谁能提供一个示例,说明如何将组件动态加载到 Material MatDialog 中? 我想做的是:我将为 MatDialog 配置数据提供一个组件类型,然后对话框将创建一个实例并将其放置在它的 ma
我是一名优秀的程序员,十分优秀!