这个proxy错误怎么看什么原因啊

img

有个JS生成Excel的代码,走到一半就出现这个错误了。
刚接触JS,proxy是啥啊?这个proxy错误怎么看什么原因啊?

/**
 * LWC导出Excel格式文件
 */
import { LightningElement, api } from "lwc";
import { loadScript } from "lightning/platformResourceLoader";
import workbook from "@salesforce/resourceUrl/xlsx";


export default class ExportToXlsxService extends LightningElement {

    @api headerList;
    @api filename;
    @api worksheetNameList;
    @api sheetData;

    librariesLoaded = false;

    renderedCallback() {
        console.log("ExportToXlsxService renderedCallback xlsx");
        if (this.librariesLoaded) return;
        this.librariesLoaded = true;
        Promise.all([loadScript(this, workbook + "/xlsx/xlsx.full.min.js")])
            .then(() => {
                console.log("loadScript xlsx success");
            })
            .catch(error => {
                console.log("loadScript xlsx failure");
            });
    }

    @api download() {
        console.log('%c--> 开始生成Excel....', 'color: green');
        const XLSX = window.XLSX;
        let xlsData = this.sheetData;
        let xlsHeader = this.headerList;
        let ws_name = this.worksheetNameList;
        let createXLSLFormatObj = Array(xlsData.length).fill([]);
        //let xlsRowsKeys = [];
        /* form header list */
        xlsHeader.forEach((item, index) => createXLSLFormatObj[index] = [item])

        /* form data key list */
        xlsData.forEach((item, selectedRowIndex) => {
            console.log('%c--> 正在生成Excel....', 'color: green');
            let xlsRowKey = Object.keys(item[0]);

            console.log('%c--> 49 行 过....', 'color: green');
            item.forEach((value, index) => {
                var innerRowData = [];
                xlsRowKey.forEach(item => {
                    innerRowData.push(value[item]);
                })
                createXLSLFormatObj[selectedRowIndex].push(innerRowData);
            })

        });

        console.log('%c--> 58 行 过....', 'color: green');
        /* creating new Excel */
        var wb = XLSX.utils.book_new();

        console.log('%c--> 62 行 过....', 'color: green');
        /* creating new worksheet */
        var ws = Array(createXLSLFormatObj.length).fill([]);
        for (let i = 0; i < ws.length; i++) {
            /* converting data to excel format and puhing to worksheet */
            let data = XLSX.utils.aoa_to_sheet(createXLSLFormatObj[i]);
            ws[i] = [...ws[i], data];

            /* Add worksheet to Excel */
            XLSX.utils.book_append_sheet(wb, ws[i][0], ws_name[i]);
        }

        console.log('%c--> 74 行 过....', 'color: green');
        /* Write Excel and Download */
        XLSX.writeFile(wb, this.filename);
        console.log('%c--> 77 行 过....', 'color: green');

        const OffSpinnerSwitch = new CustomEvent('downloadfinish', {
            detail: false
        });
        this.dispatchEvent(OffSpinnerSwitch);
    }
}

报错信息,只能看出Proxy报错,分析不出具体原因,你可以把使用到的插件和代码粘贴出来看看

1.Proxy是js es6标准里一个监听数据变化的api
2.如果你需要 Excel表格导出 我个给你实现一个 要说出你的需求

Proxy有个箭头,你点开看看详细错误?需要安装office2007?

Proxy是ES6中提供的新的API,
可以用来定义对象各种基本操作的自定义行为 (在文档中被称为traps,我觉得可以理解为一个针对对象各种行为的钩子),
拿它可以做很多有意思的事情,在我们需要对一些对象的行为进行控制时将变得非常有效。

详细介绍:


MDN官网介绍:
Proxy - JavaScript | MDN Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

报错原因
对象属性不存在,或者对象的行为不存在,都会导致这个错误 或者接受到的数据不正确

你需要看下控制台和API接口返回结果是否还有其他报错来进行分析。