问题标签 [material-dialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
99 浏览

android - 您必须指定资源 ID 或文字值

晕大家,我在 kotlin 中有一个问题材料对话框,并给出错误“您必须指定资源 ID 或文字值”。问题出在哪里,谢谢。

在班上;

错误捕获

错误日志

0 投票
1 回答
350 浏览

angular - 垫子对话框不作为弹出窗口打开

我正在尝试使用 Mat-Dialog 打开一个弹出窗口,但它出现在页面的左侧。

我已经按照官方材料网站https://material.angular.io/components/dialog/overview的步骤进行操作

TS

对话TS

应用模块

有什么我做错了吗?

0 投票
2 回答
211 浏览

android - 无法在对话框片段中的文本视图上设置文本

我有一个对话框片段,我databinding用来绑定视图。

创建对话框后,我无法在文本视图上设置文本。

这是我的代码:

日志显示更改的文本,但在 UI 上不可见。

有人对此有解决方案吗?

0 投票
1 回答
79 浏览

angular - 自定义 ErrorHandler 提供程序为响应异步事件而打开的对话框未关闭

我有一个通用的警报对话框组件,我在整个 Angular 应用程序(简化)中用于各种目的......

对话框窗口在 app.module 提供程序中指定默认选项:

我还实现了一个自定义 ErrorHandler 提供程序,它通过警报对话框显示相关错误。

显示的错误经常是后端服务器异步返回的错误。

在异步抛出错误的情况下,对话框不会关闭以响应按钮(即使使用(click)="closeDialog()"处理程序),除非您单击按钮然后还单击按钮外的其他位置。

我有一个 StackBlitz 项目,在这里演示了这个问题: https ://stackblitz.com/edit/angular-ivy-b3fqjj

有没有办法通过单击一个按钮来关闭异步打开的对话框?

0 投票
1 回答
157 浏览

angular - 星云和角材质对话框的问题

当我安装星云主题时,我收到关于我使用的角度材料模态的错误。我仅将 nebular 用于身份验证页面。错误是ERROR TypeError: Cannot read properties of undefined (reading 'appendChild') 我能做些什么来解决这个问题?

0 投票
3 回答
251 浏览

angular - Angular-防止从下拉列表中选择相同的选项

我使用文本区域制作了这个下拉菜单,用于在角度材料对话框中输入。下拉列表中只有三个选项(到目前为止)-“英语”、“法语”和“加拿大法语”。我已经默认禁用了“英语”。现在,对于其余的选项,当我单击“添加新语言”按钮并选择一个选项(法语;比如说)并添加文本时,我可以禁用选定的选项,这样当用户添加第三种语言时,他们就不能再次选择它。它工作正常。像这样(这是没有点击保存按钮) 在此处输入图像描述 现在问题从这里开始。当我选择“法语”(比如说)并点击保存按钮时。并再次打开对话框。在添加第三种语言的选项中,我再次看到“法语”和“加拿大法语”。在此处输入图像描述

这是 ts 代码:

我在很多地方进行控制台日志记录,最后设法绘制到可能发生问题的这些地方。在console.log(lang)中,我看到,当我选择“French”时,标志 canEdit 变为 false。但是在 中console.log(this.rows),当我选择“French”时,标志 canEdit 没有变为 false

如何解决问题?

HTML 代码:

这是模态打开的地方:

当我console.log(food)能看到canEdit:false. 但是当我再次打开模式时,所选项目再次console.log(this.dialogData)canEdit“True” 在此处输入图像描述

在此先感谢您的帮助!

0 投票
1 回答
49 浏览

angular - 角材料对话框模块

前段时间我被指示实现一个材质模块以在其他模块中共享

为简洁起见,假设是这样的:

然后在另一个模块中,我导入该模块

在 MyModule 的一个组件中,我想引用一个 MatDialog 但似乎我需要在组件中再次导入

这是做事的正确方法吗?

似乎是双重导入,一次在共享模块中,然后在组件中单独导入,该组件是已经导入共享 MaterialModule 的模块的一部分

从“@angular/material/dialog”导入 { MatDialogModule };

从“@angular/material/dialog”导入 { MatDialog };

我很确定我正在加倍进口,但 IDE(VS 代码)正在指导我这样做。

在我的组件中引用 MatDialog 的最小导入数是多少?具体在构造函数中

https://material.angular.io/components/dialog/examples是一个没有共享 MaterialModule 的简单示例。

0 投票
0 回答
267 浏览

angular - Angular中对话框窗口内的mat芯片列表?

在此处输入图像描述

然后当用户输入一些数据时,从 DB 中获取的相关甜点列表数据应该以预先填充的 mat-chips 列表格式显示如下:(如果这不可能,我们可以显示一个预先填充的可用甜点列表的下拉列表来自 db 以便用户可以从中进行选择),但已选择的值(重复)不应出现在下拉列表中或通过键入用户再次选择,无论是在对话框仍然打开还是关闭并再次打开时。因为选择的甜点应该是唯一的,因为选择的这个芯片数据将存储在数据库的另一个表中。

在此处输入图像描述

用户可以从可用的显示芯片列表项中删除或添加他想要的任何芯片,然后单击提交。但是这里的条件应该是,一旦选择了一个芯片项(不关闭该项目使其被选中提交),不应该通过再次键入或上次提交后选择重复的芯片项,这意味着:例如,如果我如图所示,预先填充了 5 个芯片项目,用户不应该能够键入新的芯片项目并提交,并且如果选择了芯片 4 和芯片 5 并且芯片 1、芯片 2、芯片 3 从显示的列表中关闭(删除),那么只有没有重复的 1 个芯片 4 和 1 个芯片 5 应该在提交时传递到在按钮单击事件上调用此对话框的页面。再次,当用户打开此对话框时,先前选择的芯片 4 &

我已经尝试完全按照下面的 Angular Material 文档中提到的方式实现各种垫芯片列表的自动完成,但这会打开一个下拉列表,而不是根据所需的格式。

甜点.component.html:

甜点.component.ts:

此甜点组件正在从另一个组件调用 this.dialog.open(DessertsComponent)

我不是 Angular Material(v7) 方面的专家,因此如果为这个问题提供任何解决方案,我将不胜感激。

0 投票
0 回答
58 浏览

android - 调整 androidx.preference 对话框以跟随 Material You

我有两个包含首选项部分的应用程序,并且我正在使用首选项库,这是撰写本文时可用的最新版本:

现在,我将我的应用程序设置为使用并遵循新的 Material3 (或Material You)主题,但我面临的一个问题是,虽然普通对话框的主题正确,但首选项部分中的对话框只是部分主题(角半径)。他们显然不使用新样式,这种不一致正在杀死我:D

法线材质 You 对话框 首选项对话框

目前,如果没有奇怪的解决方法,我没有找到一种方法来为它们设置主题,所以我会很感激你的建议。这是我目前的对话框样式

也许这只是等待的问题

0 投票
0 回答
14 浏览

android - 安卓。警报对话框高度不是 wrap_content

我需要创建自定义对话框。为此,我正在使用 DialogFragment。在 DialogFragment 的 onCreateDialog 中,我创建 MaterialAlertDialogBu​​ilder 并设置样式 ThemeOverlay.MaterialComponents.MaterialAlertDialog。我的自定义布局将 ConstraintLayout 作为父级,并具有 wrap_content 高度。问题是我的对话框的高度没有调整到内容的高度。对话框始终具有固定高度,因此我的布局中的某些内容不可见。请告诉我如何使对话框包装内容的高度。