gpt4 book ai didi

javascript - Angular Material : md-select in md-dialog not closing

转载 作者:行者123 更新时间:2023-11-29 10:06:07 24 4
gpt4 key购买 nike

我创建了一个简单的指令,它包含一个表单,其中包含几个 md-input 和一个 md-select

我现在已经在几页中使用了我的指令,一切正常,但现在我想在 md-dialog 中使用它,但它没有按预期工作,我不能如果我在其外部单击,则关闭 md-select-menu,即使我聚焦 md-input。

因此,用户关闭菜单的唯一两种方法是选择一个选项或关闭对话框。

没那么糟糕,但我觉得这很烦人。

对话框内容如下:

<md-dialog aria-label="Modal" ng-cloak flex="75">
<md-toolbar ng-class="md-primary">
<div class="md-toolbar-tools">
<h2 translate>personModal.update</h2>
<span flex></span>
<md-button class="md-icon-button" ng-click="cancel()">
<md-icon md-svg-src="img/ic_close_white.svg" aria-label="Close dialog"></md-icon>
</md-button>
</div>
</md-toolbar>
<person-form person="person"></person-form>
</md-dialog>

指令内容:

<form name="createPersonForm" layout="row" layout-align="space-between center" class="bg-sec query-fields">
<md-input-container flex class="full-width-input">
<label translate>createPerson.form.firstname</label>
<input name="firstname" ng-model="person.firstname" required md-asterisk/>
<div ng-messages="createPersonForm.firstname.$error"
ng-show="createPersonForm.firstname.$touched">
<div ng-message="required" translate>
createPersonForm.errors.firstnameMissing
</div>
</div>
</md-input-container>

<!-- -->
<!-- Other md-inputs here -->
<!-- -->

<md-input-container flex class="consumption-filter full-width-input">
<label translate>createPerson.form.contact</label>
<md-select name="contact" ng-model="person.contactId" required>
<md-option ng-repeat="contact in contacts" ng-value="{{contact.id}}">
<span>{{contact.name}}</span>
</md-option>
</md-select>
<div class="md-errors-spacer"></div>
<div ng-messages="createPersonForm.contact.$error"
ng-show="createPersonForm.contact.$touched">
<div ng-message="required" translate>
createPersonForm.errors.contactMissing
</div>
</div>
</md-input-container>

<md-button class="md-raised bg-white" ng-click="createPerson()" ng-disabled="createPersonForm.$invalid" ng-hide="loading" ><span translate>createPersonForm.errors.createButton</span></md-button>
<md-progress-circular md-mode="indeterminate" class="md-accent" ng-show="loading"></md-progress-circular>
</form>

我正在使用 Angular 1.5 和 Angular Material 1.0。

我试着玩弄 z-index,并升级 Angular/Angular Material ,但它并没有解决问题。

我正在考虑在 md-select 失去焦点时以编程方式关闭菜单,但我发现这有点难看。我还不知道该怎么做。

提前致谢!

最佳答案

使用上面 Freego 提出的方法会在 angular-material 1.1.5 上为我抛出一个错误

TypeError: Cannot read property '$viewValue' of undefined

我通过为 <md-backdrop /> 设置 z-index 在 angular-material 1.1.5 中解决了这个问题旁边.md-select-menu-container .

.md-select-menu-container {
z-index: 900;
}

md-backdrop.md-select-backdrop {
z-index: 899;
}

关于javascript - Angular Material : md-select in md-dialog not closing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com