Angular 角度材质md在“md”对话框中选择“不关闭”
我使用的是angular material 1.1.4版、angular 1.5.9版,我在md select指令中遇到了以下问题 我只需单击一个按钮,就可以使用$mdDialog服务打开一个对话框。该对话框是全屏的。在内部,我有多个输入,以及一个md select输入。在md select上,您可以选择多个项目,因此从列表中选择一个项目后,它不会自动关闭。打开它并选择所需的项目后,您可以在其外部单击以关闭它并进入下一个输入,但在mdDialog窗口内部使用时,其外部的单击事件不会关闭md select 我搜索了这个问题,发现了一些问题,但其中一些问题在几个月内没有答案,其他问题也没有解决方案Angular 角度材质md在“md”对话框中选择“不关闭”,angular,angular-material,mddialog,md-select,Angular,Angular Material,Mddialog,Md Select,我使用的是angular material 1.1.4版、angular 1.5.9版,我在md select指令中遇到了以下问题 我只需单击一个按钮,就可以使用$mdDialog服务打开一个对话框。该对话框是全屏的。在内部,我有多个输入,以及一个md select输入。在md select上,您可以选择多个项目,因此从列表中选择一个项目后,它不会自动关闭。打开它并选择所需的项目后,您可以在其外部单击以关闭它并进入下一个输入,但在mdDialog窗口内部使用时,其外部的单击事件不会关闭md se
非常感谢您抽出时间,希望您能以一种干净的方式帮助我做到这一点。或者,我必须手动添加click事件,这是我希望避免的。我是如何解决问题的:
var dialogContainer = angular.element(document.querySelector('.bara-cautare-directive-root')),
mdSelects = document.getElementsByTagName('md-select');
dialogContainer.bind('click', function (event) {
var closeMdSelect = true;
_.forEach(mdSelects, function (mdSelect) {
mdSelect = angular.element(mdSelect);
// what I do here is to check if the click event was triggered by the md-select I want to close. When opening the md-select, it will automatically close it, so I make sure that whenever this md-select is clicked, I don't hide it.
if (mdSelect.is(event.target) || mdSelect.has(event.target).length != 0) {
closeMdSelect = false;
return false;
}
});
if (closeMdSelect) {
$mdSelect.hide();
}
});
信用给用户。请参阅以下网址的答案:
该问题可以通过覆盖md-background
的zindex
来解决。只需添加以下css
.md-select-menu-container {
z-index: 900; }
md-backdrop.md-select-backdrop {
z-index: 899; }
你找到解决办法了吗?我也有同样的问题,我找到了解决办法。这不是最漂亮的,但它很管用。您可以做的是在md-select(您希望用户单击以关闭md-select)之外获取click事件,并使用$mdSelect服务将其隐藏($mdSelect.hide())