-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在Safari上绘制的边Edge,不会显示箭头 #4053
Comments
Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. |
@XueMeijing 我也出现了这个问题,在PC上的MAC OS系统没有问题,但是在移动端,无论是ipad还是iPhone,用safari或者edge都会存在这个问题。 |
感觉很奇怪,在Iphone的safari下面第一次打开这个页面看不到箭头,如果回到上一个页面再返回回来,箭头就出现了,我试了下移动端的google也是一样的情况。 我本来以为箭头用到的marker-end像foreignObject一样是safari兼容问题 ( #4060 ),因为他mdn下面的浏览器兼容性是一堆问号,但是复制了svg节点和样式到服务器发现能正常展示 http://42.192.2.106/test.html ,也不知道什么原因导致的 |
是的 我跟你想的一样,以为是marker-end的兼容性问题,也把svg节点复制出来了,但是没有问题。 |
Here is an one-time polyfill applied before graph rendered. Hope to help! (function () {
/// fix: invisible edge marker about Safari 16.5.1
const targetNode = graph.mousewheel.target;
const config = { attributes: true, subtree: true };
const callback = (mutationList, observer) => {
mutationList.forEach(mutation => {
if ('attributes' != mutation.type) return;
if ([
'marker-start',
'marker-mid',
'marker-end',
].includes(mutation.attributeName)) {
const { target } = mutation;
const { parentElement } = target;
parentElement.insertBefore(target, target.nextElementSibling);
};
});
};
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
// observer.disconnect();
})(); |
我也碰到这个了问题,我用的是1.X. 在图形渲染完之后给svg设置一下竟然可以。 // 在渲染完之后执行,竟然可以。不知道为什么?难道是重绘? |
我也遇到了,边上有 label 的时候剪头就消失了 然后没有 label 箭头可以展示 但是如果动态修改箭头类型不会及时变化 |
我发现在tabList场景下,从流程图tab切换到其他tab,再切换回流程图tab,箭头正常渲染了。所以主动触发一次回流就能解决。 setTimeout(() => { |
问题描述
在Safari上绘制的边Edge,不会显示箭头,Chrome上显示正常
重现链接
https://codesandbox.io/p/sandbox/thirsty-water-nhnv3l
重现步骤
graph.addEdge({
shape: 'edge',
sourece: [100, 100],
target: [500, 500],
attrs: {
line: {
sourceMarker: 'block', // 实心箭头
targetMarker: {
name: 'ellipse', // 椭圆
rx: 10, // 椭圆箭头的 x 半径
ry: 6, // 椭圆箭头的 y 半径
},
},
},
})
在Safari上绘制边,不会正常显示箭头
预期行为
期望在Safari上可以正常绘制带箭头的边
平台
屏幕截图或视频(可选)
No response
补充说明(可选)
No response
The text was updated successfully, but these errors were encountered: