【问题标题】:Rete.js do not render editor until window is resizedRete.js 在调整窗口大小之前不会渲染编辑器
【发布时间】:2021-01-30 04:11:24
【问题描述】:

我正在使用Angular 7.1.4"rete": "^1.4.4"。如果我在组件中使用编辑器,它会呈现正常,但是如果将编辑器作为子组件传递给具有 ng-content 的另一个组件,它不会在编辑器中呈现节点,直到调整窗口大小。作为一种解决方法,我尝试在 ngOnInit 中触发窗口调整大小:

setTimeout(() => {
            window.dispatchEvent(new Event('resize'));
        });

它渲染节点但不渲染连接线

【问题讨论】:

    标签: angular rete


    【解决方案1】:

    找到了解决办法。我在 ngAfterViewInit 中初始化容器,发现并非所有样式属性都在 ngAfterViewInit 事件之后附加。所以解决方法是设置超时

    setTimeout(() => { const container = this.el.nativeElement; let editor = new NodeEditor("rivetNodeEditor@0.1.0", container); ... }, 10);
    

    【讨论】:

      【解决方案2】:

      如果您查看 rete https://codepen.io/Ni55aN/pen/xzgQYq 附带的示例,您会发现您也可以通过在 NodeEditor 设置结束时调用手动调整大小和处理来解决问题:

      let editor = new NodeEditor("rivetNodeEditor@0.1.0", container)
      ... //Setting up node components
      editor.view.resize()
      editor.trigger('process')
      

      【讨论】:

        猜你喜欢
        • 2016-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-05
        • 1970-01-01
        • 2014-09-03
        • 1970-01-01
        相关资源
        最近更新 更多