- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个组件:CustomerComponent
和 CustomerCreateUpdateComponent
.CustomerComponent
包括客户数据表。CustomerCreateUpdateComponent
是一个带有用于创建/更新的输入控件的表单。
我有 mat-dialog
与 CustomerCreateUpdateComponent
在里面。
打开对话框并填写表格后,单击提交按钮和 this.dialogRef.close(customer);
被执行。 customer
对象具有所有值。
在 CustomerComponent
我有 subscribe
在 this.dialog.open(CustomerCreateUpdateComponent).beforeClose().subscribe((customer: Customer) => { ... });
它是 beforeClose()
方法,所以在对话框关闭之前,我会返回 customer
对象返回并将其发布到 api。
如果 POST 成功,一切正常,对话框关闭并更新数据表。
但是,如果 POST 没有成功,api 将返回一个错误,我想向用户显示该错误 保持对话框打开 ,类似于 if(error) { closeEvent.cancel() }
我已经查看了 mat-dialog
的整个文档,没什么帮助。我几乎可以肯定没有办法做到这一点。
也许有人有同样的问题?很高兴听到任何解决方法。
最佳答案
我解决了一个类似的问题,因为我希望在关闭之前弹出一个确认关闭警告,然后取消或延迟关闭直到它被确认。为了处理这个问题,我设置了 disableClose
对话框上的选项为 true。我将我的 close 方法钩子(Hook)添加到了 backgroundClick 钩子(Hook)中,以便它以类似的方式运行。
this.dialogRef.backdropClick().subscribe(() => { this.close(); });
close()
是我在对话框上处理关闭事件的方法。这只是打开一个确认框,如果答案是肯定的则关闭
close() {
this.confirm.open({ title: 'Would you like to acknowledge this message?' }).pipe(
tap(answer => { if (answer === true) { this.dialogRef.close(); } }),
).subscribe();
}
关于Angular 6 MatDialog取消关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51686251/
我正在对我的应用程序进行单元测试。我是测试新手,因此需要您的帮助。 在我的应用程序中,我创建了一个使用 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
我是一名优秀的程序员,十分优秀!