我有一个使用最新版本(3.0.0-rc22)的ui-grid。在我的列定义中,我设置了一个cellTemplate以允许链接到其他路由。不幸的是,无论我为cellTooltip设置了什么,只要我有cellTemplate,这些工具提示都不会显示。如果我删除cellTemplate,则tootlips会完美显示。
这是我在做什么:
colDefs: [
{
field: 'site_name',
displayName: 'Site Name',
cellTooltip: function (row, col) {return row.entity.site_name},
filter: { condition: uiGridConstants.filter.CONTAINS },
cellTemplate: siteNameLink,
width: '25%'
},{ ... }
]
我知道仅执行
cellTooltip: true
是行不通的,因为cellTemplate中包含HTML,但是我应该能够使用row.entity.site_name
上的函数指定自定义工具提示,但这也不起作用。我什至尝试了一个愚蠢的cellTooltip函数,例如:
function (row, col) { return 'test' }
而且没有工具提示出现。我是否缺少某些东西,或者这只是ui-grid中目前缺少的功能?
最佳答案
我是个白痴。这显然是行不通的,因为cellTemplate替换了所有内容,而cellTooltip只是一个title属性。
解决方案是在cellTemplate本身中添加title
属性,如下所示:
var siteNameLink = '<div class="ui-grid-cell-contents" title="{{COL_FIELD}}"><a
ui-sref="sites.site_card({siteid: row.entity._id})">{{COL_FIELD}}</a></div>';