min*_*rse 5 primeng monaco-editor angular ngx-monaco-editor
我正在努力处理ngx-monaco-editor一个primeng 选项卡面板内部的实例,该实例在切换到另一个选项卡时似乎会丢失其大小计算,更改绑定到编辑器的模型值,然后再次切换回初始选项卡。
https://stackblitz.com/edit/primeng9-tabs-monaco-editor
使用上述 URL 进行复制的步骤:
前:
后:
在 Dom 中检查,最初指定的样式仍然存在。
正如您从示例应用程序的源代码中看到的那样,我还尝试layout在选项卡更改事件中使用编辑器的方法来尝试根据容器强制重新计算大小,但这没有任何区别
有趣的是,如果我调整窗口大小,这似乎会触发编辑器组件再次正确调整大小。
不确定根本原因是什么,但*ngIf在编辑器容器上使用可以解决问题。请看看这个——
handleTabChange(tabChangeEvent: { originalEvent: Event; index: number }) {
if (tabChangeEvent.index === 0) {
//this.monacoEditor.editor.layout();
this.showEditor = true;
} else {
this.showEditor = false;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的模板中 -
<div style="height: 500px" *ngIf="showEditor">
<ngx-monaco-editor #monacoEditor style="height:100%;" [options]="editorOptions" [(ngModel)]="code">
</ngx-monaco-editor>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |