我希望为所有列启用headerTooltip,并且不希望对不同表的所有列重复此操作。
是否有一种方法来设置全局columnDef或覆盖默认值?
如果没有全局方法的话,我也有兴趣在每个表的基础上这样做。
发布于 2016-11-10 05:03:55
自定义任何角组件的最佳方法是查看源代码,然后编写一个装饰器,您的应用程序可以在这里修改组件,而不需要对组件源代码进行黑客攻击。在这种情况下,我们可以看到,我们需要更改GridColumn.prototype.updateColumnDef函数,它将设置从列def复制到列本身。我们安装自己的默认值(如果未定义),然后让未修改的方法执行它的操作。这样,新的全局默认值仍然可以在单个网格中被覆盖。
angular.module(name).config(
$provide => {
$provide.decorator('GridColumn', $delegate => {
const {updateColumnDef} = $delegate.prototype;
$delegate.prototype.updateColumnDef = function(colDef, isNew) {
if(colDef.headerTooltip === undefined)
colDef.headerTooltip = true;
updateColumnDef.call(this, colDef, isNew);
};
return $delegate;
});
}
});https://stackoverflow.com/questions/36791108
复制相似问题