Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了保持自动填充建议面板打开以进行多项选择,并在角度材料2中单击面板外部时关闭大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想修改自动完成组件以进行多项选择.
我想要的是应该通过复选框打开建议面板进行多项选择,如果用户在建议面板外单击,则关闭它.根据文档,我们可以通过panelClosingActions处理它,但我无法找到任何方法如何使用它.

我可以通过MdAutocompletetrigger事件和openPanel方法保持Panel打开,但是如果选择第二个索引并且m选择第四个索引然后第二个索引复选框取消并再次打勾,会发生什么.

<md-autocomplete #auto="mdAutocomplete" id=autoComplete>
  <md-option *ngFor="let state of filteredStates | async" 
[value]="state.name" (click)="handleAutocomplete()">
<md-checkBox [checked]="state.SELEcted" [(ngModel)]="state.SELEcted">
    <span>{{ state.name }}</span> |
    <small>Population: {{state.population}}</small>
</md-checkBox>
  </md-option>
</md-autocomplete>

@ViewChild('autocomplete',{read: MdAutoCompletetrigger})
autoComplete: MdAutocompletetrigger

handleAutocomplete(){
this.autoComplete.openPanel();
}

任何帮助都非常感谢

解决方法

我面临同样的问题.

我发现的唯一解决方案是在使用mat-autocomplete optionSELEcted方法选择选项时立即重新打开选项面板.

HTML

<mat-autocomplete 
#auto="matAutocomplete" 
[displayWith]="displayFn" 
(optionSELEcted)="openPanel()">
    <mat-option *ngFor="let tag of filteredsources" [value]="tag.id">
        <span>{{ tag.text }}</span>
    </mat-option>
</mat-autocomplete>

TS

@ViewChild(MatAutocompletetrigger) autotrigger: MatAutocompletetrigger;
openPanel(): void {
    const self = this;
    setTimeout(function () {
        self.autotrigger.openPanel();
    },1);
}

这不是一个优雅的解决方案,因为面板仍然关闭并且有一个闪烁效果,但我找不到更好的解决方案,因为MatAutocompletetrigger panelClosingActions是只读的.

大佬总结

以上是大佬教程为你收集整理的保持自动填充建议面板打开以进行多项选择,并在角度材料2中单击面板外部时关闭全部内容,希望文章能够帮你解决保持自动填充建议面板打开以进行多项选择,并在角度材料2中单击面板外部时关闭所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。