Версия для машинописи: 3.2.4 Угловая версия: ^ 7.2.15 Версия Syncfusion: 17.1.50
Привет всем.У меня проблема с Pivot Grid от Syncfusion.Код ниже - мой метод onInit, который взят прямо из их демонстрации.Это работало с 17.1.41, но теперь волшебным образом перестало работать.Эта проблема также относится к их StackBlitz примеру.
ngOnInit() {
let data: DataManager;
data = new DataManager({
url: this._controllerUrl + "/billing/extract",
adaptor: new WebApiAdaptor(),
crossDomain: true,
headers: [
{
"Content-Type": "application/json",
Accept: "application/json",
Authorization: "Bearer " + this.token
}
]
});
this.dataSource = {
enableSorting: true,
columns: [{ name: "Year" }, { name: "Month" }],
values: [{ name: "Cost", caption: "Cost (GBP)" }],
data: data,
rows: [{ name: "ServiceId" }],
formatSettings: [],
expandAll: false,
filters: []
};
this.button = new Button({ isPrimary: true });
this.button.appendTo("#export");
this.button.element.onclick = (): void => {
this.pivotGridObj.excelExport();
};
}
Вот полная ошибка в Firefox:
ERROR Error: "Uncaught (in promise): TypeError: this.parent.dataSource.values is undefined
./node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.js/AxisFields.prototype.createPivotButtons@http://localhost:4200/views-billing-billing-module.js:197167:17
./node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.js/AxisFields.prototype.render@http://localhost:4200/views-billing-billing-module.js:197143:14
./node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/grouping-bar.js/GroupingBar.prototype.appendToElement@http://localhost:4200/views-billing-billing-module.js:197347:49
./node_modules/@syncfusion/ej2-base/src/observer.js/Observer.prototype.notify@http://localhost:4200/views-billing-billing-module.js:10781:25
./node_modules/@syncfusion/ej2-base/src/component.js/Component.prototype.notify@http://localhost:4200/views-billing-billing-module.js:5505:32
./node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js/PivotView.prototype.renderPivotGrid@http://localhost:4200/views-billing-billing-module.js:204990:18
./node_modules/@syncfusion/ej2-base/src/observer.js/Observer.prototype.notify@http://localhost:4200/views-billing-billing-module.js:10781:25
./node_modules/@syncfusion/ej2-base/src/component.js/Component.prototype.notify@http://localhost:4200/views-billing-billing-module.js:5505:32
./node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js/PivotView.prototype.initEngine@http://localhost:4200/views-billing-billing-module.js:206000:14
./node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js/PivotView.prototype.executeQuery@http://localhost:4200/views-billing-billing-module.js:206047:14
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:7688:26
onInvoke@http://localhost:4200/vendor.js:82616:33
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:7687:52
./node_modules/zone.js/dist/zone.js/</Zone.prototype.run@http://localhost:4200/polyfills.js:7447:43
scheduleResolveOrReject/<@http://localhost:4200/polyfills.js:8186:34
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:7720:31
onInvokeTask@http://localhost:4200/vendor.js:82607:33
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:7719:60
./node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask@http://localhost:4200/polyfills.js:7492:47
drainMicroTaskQueue@http://localhost:4200/polyfills.js:7898:35
./node_modules/zone.js/dist/zone.js/</ZoneTask.invokeTask@http://localhost:4200/polyfills.js:7799:21
invokeTask@http://localhost:4200/polyfills.js:9041:14
globalZoneAwareCallback@http://localhost:4200/polyfills.js:9067:17
Вот полная ошибка в Chrome / Edge
core.js:15724 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'length' of undefined
TypeError: Cannot read property 'length' of undefined
at AxisFields.push../node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.js.AxisFields.createPivotButtons (axis-field-renderer.js:45)
at AxisFields.push../node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.js.AxisFields.render (axis-field-renderer.js:21)
at GroupingBar.push../node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/grouping-bar.js.GroupingBar.appendToElement (grouping-bar.js:142)
at Observer.push../node_modules/@syncfusion/ej2-base/src/observer.js.Observer.notify (observer.js:89)
at PivotViewComponent.push../node_modules/@syncfusion/ej2-base/src/component.js.Component.notify (component.js:188)
at PivotViewComponent.push../node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js.PivotView.renderPivotGrid (pivotview.js:881)
at Observer.push../node_modules/@syncfusion/ej2-base/src/observer.js.Observer.notify (observer.js:89)
at PivotViewComponent.push../node_modules/@syncfusion/ej2-base/src/component.js.Component.notify (component.js:188)
at PivotViewComponent.push../node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js.PivotView.initEngine (pivotview.js:1891)
at PivotViewComponent.push../node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.js.PivotView.executeQuery (pivotview.js:1938)
at resolvePromise (zone.js:831)
at zone.js:896
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:17290)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
at drainMicroTaskQueue (zone.js:601)
at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:502)
at invokeTask (zone.js:1744)
at XMLHttpRequest.globalZoneAwareCallback (zone.js:1770)
Странная вещь в том, что если я использую подмножество данных, которые возвращаются с сервера, и устанавливаю их локально, все это работает.
Здесь - это изображение запроса, который я делаю с ответом и данными.Я не уверен, что это что-то, что я могу исправить, поскольку это может быть ошибка с DataManager
.
Я попытался вернуться к предыдущей версии, которую я использовал, но все еще, кажется, естьта же проблема.