使用quasar框架,在q-dialog弹窗组件中渲染 antv x6 官方示例时,节点间的连线没有正确渲染,报出已下错误:
@antv_x6.js?v=c5cf8a79:3110 Uncaught DOMException: Failed to execute 'inverse' on 'SVGMatrix': The matrix is not invertible.
at Object.getTransformToElement (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:3110:24)
at Object.getBBox (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:11035:36)
at http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:12543:44
at Array.forEach (<anonymous>)
at AttrManager.update (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:12533:18)
at EdgeView.updateAttrs (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:12934:15)
at EdgeView.updateLabels (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:22888:14)
at EdgeView.renderLabels (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:22802:10)
at EdgeView.render (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:22693:10)
at EdgeView.confirmUpdate (http://localhost:9000/node_modules/.q-cache/vite/spa/deps/@antv_x6.js?v=c5cf8a79:22680:12)
显示效果:
解决方法:
在弹窗打开后,延迟渲染
// 显示弹窗
function showDialog() {
dialogRef.value.show();
setTimeout(()=>{
// 渲染antv x6
renderGraph();
}, 100)
}
欢迎关注公众号:清晰编程,获取更多精彩内容