McL*_*Lac 6 splitter primeng angular
<p-button label="Add" (click)="onAddPanel()"></p-button>\n <p-splitter [style]="{'height': '100px'}" styleClass="p-mb-5">\n <ng-container *ngFor="let panel of panels">\n <ng-template pTemplate>\n <div class="p-col p-d-flex p-ai-center p-jc-center">\n {{panel.name}}\n </div>\n </ng-template>\n </ng-container>\n</p-splitter>\nRun Code Online (Sandbox Code Playgroud)\npanels = [ {name: 'Panel1'}, {name: 'Panel2'}, {name: 'Panel3'} ];\n\nonAddPanel() {\n this.panels = [...this.panels, ...[{name: `Panel${this.panels.length+1}`}] ];\n}\nRun Code Online (Sandbox Code Playgroud)\n如何绑定p-splitter到新集合并在事件触发时添加面板onAddPanel?\n我尝试过\xe2\x80\x9cprimeng\xe2\x80\x9d: \xe2\x80\x9c12.0.0\xe2\x80\x9d但没有成功。有人有任何解决方法吗?
小智 0
你可以这样做
@Component({
selector: 'my-component',
templateUrl: './my.component.html',
styleUrls: ['./my.component.scss'],
})
export class MyComponent {
@ViewChild('splitter') splitterRef!: Splitter;
items = ["Hello"]
updatePanel() {
items.push("World");
this.splitterRef.panels = [];
setTimeout(() => {
this.splitterRef.ngAfterContentInit();
this.splitterRef.cd.detectChanges();
}, 0);
}
}Run Code Online (Sandbox Code Playgroud)
<p-splitter
panelStyleClass="w-screen"
#splitter
>
<ng-container *ngFor="let item of items">
<ng-template pTemplate="panel">
{{ item }}
</ng-template>
</ng-container>
</p-splitter>
<button onClick="updatePanel()">Update Panel</button>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |