【发布时间】:2020-01-04 19:12:32
【问题描述】:
我花了一些时间寻找可能的解决方案来解决这个问题,this one 似乎是最合适的。
我的自定义视觉对象(PowerBI、Typescript)中的代码结构如下:
export class Visual implements IVisual {
private settings: VisualSettings;
private host: IVisualHost;
<...>
private hot: Handsontable;
constructor(options: VisualConstructorOptions) {
<...>
};
this.hot = new Handsontable(hotElement, hotSettings);
this.hot.addHook('modifyColWidth', function(width){
if(this === this.hot.getPlugin('dropdownmenu').menu.hotMenu)
{
return 300;
}
return width;
})
}
最后一段代码输出错误:
Uncaught TypeError: Cannot read property 'getPlugin' of undefined
at Core.<anonymous> (<anonymous>:65781:29)
at Hooks.run (<anonymous>:10485:46)
at Core.runHooks (<anonymous>:43381:89)
at Core.getColWidth (<anonymous>:42643:22)
at Table.getColumnWidth (<anonymous>:49386:17)
at Table.getStretchedColumnWidth (<anonymous>:49396:30)
at LeftOverlay.sumCellSizes (<anonymous>:83603:33)
at Overlays.adjustElementsSize (<anonymous>:53065:69)
at Object.adjustRowsAndCols (<anonymous>:40249:37)
at Core.updateSettings (<anonymous>:41558:10)0
似乎一个钩子没有看到我的视觉实例,这就是 IntelliSense 不为插件提供任何东西的原因:this.hot.getPlugin('dropdownmenu').menu.hotMenu
有人遇到过同样的问题吗?你能帮忙吗?
【问题讨论】:
标签: javascript typescript handsontable