我有一个使用最新版本(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>';

10-04 14:45