首页 > 解决方案 > FabricJs 无法读取 null 的属性“className”

问题描述

我刚刚将fabricJs 从1.4.0 升级到1.4.13,这样我就可以使用Image类的SetSrc(),当我尝试运行我的应用程序时,我得到了这个错误:“无法读取属性'className' of null”。这是错误源自的代码行

   const options = {
              id: client.ProfileId,
              class: 'img_wifiClient',
              left: (transX + client_left) * canvasFabric.scale,
              top: (transY + client_top) * canvasFabric.scale,
              selectable: true,
              hasBorders: false,
              hasControls: false,
              padding: 0,
              perPixelTargetFind: true,
              width: 24,
              height: 24,
              originX: 'center',
              originY: 'center'
       }

       let image = new fabric.Image('');//*This is where the error originated from*
       canvasFabric.add(image);

       let src;


       if (client.IconName === 'default.png' || client.IconName === null)
       {

              src = '/Icones/wifi.png';
       }
       else
       {

              src = `/Icones/${client.IconName}`;
       }

        image.setSrc(src, function () {
              image.setCoords();
              canvasFabric.renderAll();
         }, options);

任何帮助,将不胜感激!!

标签: fabricjs

解决方案


我在 HTML 文件的 canvas 元素下添加了一个 id = "myIcone" 的 img 元素,并添加了以下代码行,一切正常。

 let image_element = document.getElementById('myIcone');
 let image = new fabric.Image(image_element);
 canvasFabric.add(image); 

其余代码与问题片段中的相同


推荐阅读