当离子页面加载时,我需要默认打开top open ion-fab-list .
请提供一些帮助 .
我尝试过以下解决方案,但没有奏效:
1. write (click) event on fab-button in .html and call event from .ts.
ionViewDidEnter() {
this.calculateButtons();
}
calculateButtons() {
// buttonList list populated code
this.fabButtonClicked();
}
fabButtonClicked() {
console.log('Fab Button clicked.');
}
<ion-fab bottom right #fab class="space-fab-list">
<button ion-fab #fabBtn mini class="fab-button" [disabled]="!isButtonsFound" (click)="fabButtonClicked()"><ion-icon name="add"></ion-icon></button>
<ion-fab-list side="top" class="spaces-side-list">
<button ion-fab *ngFor="let buttonObj of buttonList" class="button-fab-object" (click)="doSomthing(buttonObj)">buttonObj.title</button>
</ion-fab-list>
</ion-fab>
2. Call setActiveLists method of FabContainer class
问题:使用此解决方案,默认情况下打开ion-fab-list,但不会从* ngFor填充按钮 . 空的fab-list开张了 .
@ViewChild('fab') fabElement: FabContainer;
ionViewDidEnter() {
this.calculateButtons();
}
calculateButtons() {
// buttonList list populated code
this.fabElement.setActiveLists(true);
}
这个解决方案对我不起作用 .
请帮我解决这个问题 .
Dynamically generate buttons into ion-fab-list: 从Web服务获取的按钮列表
<ion-fab bottom right #fab class="space-fab-list">
<button ion-fab #fabBtn mini class="fab-button" ><ion-icon name="add"></ion-icon></button>
<ion-fab-list #fabList side="top" class="side-list">
<button ion-fab class="space-fab-button home" (click)="openHome()">Home</button>
<button ion-fab *ngFor="let button of buttonList" class="fab-button" (click)="doSomething(button)">{{ button.name }}</button>
</ion-fab-list>
</ion-fab>
谢谢,Punita
2 回答
这里是,
Component side :
Template side :
WORKING DEMO
使用动态生成按钮到ion-fab-list中:
Component side :
Template side :
WORKING DEMO
谢谢你的建议 . 我使用ChangeDetectorRef解决了这个问题 .
在setActiveLists()方法执行之前调用detectChange()方法
谢谢