首页 > 解决方案 > 错误:“文本”类型上不存在属性“innerHTML”。角度 2+ 。打印数据表图像未打印时

问题描述

当我通过 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;
      }
    }
  },

用表格打印图像。

标签: angulartypescriptprintingangular-datatables

解决方案


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

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) {
                  **const it = <HTMLElement> item;**
                  if (item.nodeName === '#text') {
                    result = result + item.textContent;
                  } else if (item.nodeName === 'IMG') {
                    result = result + it.outerHTML;
                  } else if (item.nodeName === 'DIV') {
                    result = result + it.innerHTML;
                  } else if (item.nodeName === 'SUP') {
                    result = result + it.outerHTML;
                  } else if (item.nodeName === 'STRONG') {
                    result = result + it.outerHTML;
                  } else {
                    result = result + it.innerText;
                  }
                });
                return result;
              }
            }
          },

推荐阅读