leaferjs / leafer-ui

一款好用的 Canvas 渲染引擎,革新的体验。高效绘图 、UI 交互(小游戏、互动应用、组态)、图形编辑,前端开发必备~
https://www.leaferjs.com
MIT License
2.38k stars 82 forks source link

有的 Path data ,添加或设置 cornerRadius 参数,页面直接 卡死了, #134

Open 3400442579 opened 5 months ago

3400442579 commented 5 months ago

'M14 7v1H8v6H7V8H1V7h6V1h1v6h6z', //如果用这个 path data 没影响 'M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z', //这个就死了

我在无意间,设置了path cornerRadius 参数,页面死了,测试代码如下:

<html lang="zh">
    <head>
        <meta charset="utf-8" />
    </head>
    <body>
        <div id="leafer" style="height: 600px;"></div>
        <button id="change" >change </button>
        <script src="https://cdn.jsdelivr.net/npm/leafer-ui@1.0.0-rc.22/dist/web.min.js"></script>

        <script>
            const { Leafer, Path } = LeaferUI
            const leafer = new Leafer({ view: "leafer" })
            const path = new Path({
                scale: 2,
                //path: 'M14 7v1H8v6H7V8H1V7h6V1h1v6h6z',  //如果用这个 path data 没影响
                path: 'M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z', //这个就死了
                fill: 'red',
                x: 50, y: 50,
                around: 'center',
                hittable: false,
                hitFill: 'none',
                hitStroke: 'none',
                className: 'addicon',
               // cornerRadius: 10 //添加了这个参数 卡死,页面无法操作,刷新都不行了
            })

            leafer.add(path);

            var clickcount=0;

            document.getElementById("change").addEventListener("click",function(){

                let node = leafer.findOne(".addicon");
                node.set({ cornerRadius: 10 }); //这个操作之后 卡死,后台无法点击了,页面无法操作,刷新都不行了
                alert(++clickcount);
            })

        </script>

    </body>

</html>
leaferjs commented 5 months ago

收到,谢谢反馈~,Path暂时还不支持cornerRadius,后续会支持