错误:类型“文本”上不存在属性“ innerHTML”。角度2+。当打印数据表图像未打印时

时间:2019-02-14 12:38:18

标签: angular typescript printing angular-datatables

当我通过print.js打印角度数据表时 出现错误

Property 'innerHTML' does not exist on type 'Text'.

我如何处理列中的打印图像?

extend: 'print',
  exportOptions: {
    stripHtml: false,
    format: {
      body: function ( inner, coldex, rowdex ) {
        if (inner.length <= 0) {
          return inner;
        }
        const el = $.parseHTML(inner);
        let result = '';
        $.each( el, function (index, item) {
          if (item.nodeName === '#text') {
            result = result + item.textContent;
          } else if (item.nodeName === 'IMG') {
            result = result + item.outerHTML;
          } else if (item.nodeName === 'DIV') {
            result = result + item.innerHTML;
          } else if (item.nodeName === 'SUP') {
            result = result + item.outerHTML;
          } else if (item.nodeName === 'STRONG') {
            result = result + item.outerHTML;
          } else {
            result = result + item.innerText;
          }
        });
        return result;
      }
    }
  },

使用表格打印图像。

1 个答案:

答案 0 :(得分:0)

这是解决方案。 添加:--- const it = item;然后替换项目。 请参见下面的运行代码。

扩展:“打印”,           exportOptions:{             stripHtml:否,             格式:{               正文:函数(内部,coldex,rowdex){                 如果(inner.length <= 0){                   返回内部                 }                 const el = $ .parseHTML(inner);                 让结果='';                 $ .each(el,function(index,item){                    const it = item;                   如果(item.nodeName ==='#text'){                     结果=结果+ item.textContent;                   }否则,如果(item.nodeName ==='IMG'){                     结果=结果+ it.outerHTML;                   }否则,如果(item.nodeName ==='DIV'){                     结果=结果+ it.innerHTML;                   }否则,如果(item.nodeName ==='SUP'){                     结果=结果+ it.outerHTML;                   }否则,如果(item.nodeName ==='STRONG'){                     结果=结果+ it.outerHTML;                   }其他{                     结果=结果+ it.innerText;                   }                 });                 返回结果;               }             }           }