Tabulator 如何在不创建超链接的情况下从链接格式化程序url回调返回

Tabulator 如何在不创建超链接的情况下从链接格式化程序url回调返回,tabulator,Tabulator,我正在使用格式化程序:“link”url回调为制表器表中的某一列生成超链接 tabulatorTable.addColumn({ title: "Value", field: "JSONDoc.Path.To.Property", formatter: "link", formatterParams: { url: getHyperLink, target: "_blank" } }); 然后在我的回调函数中: funct

我正在使用格式化程序:“link”url回调为制表器表中的某一列生成超链接

tabulatorTable.addColumn({
    title: "Value",
    field: "JSONDoc.Path.To.Property",
    formatter: "link",
    formatterParams: {
        url: getHyperLink,
        target: "_blank"
    }
});
然后在我的回调函数中:

function getHyperLink(cellComp) {
    var cellData = cellComp.getData();

    var propValFromJSONSource = cellData.SomeProperty;

    if( propValFromJSONSource != 0) {
        return "http://hostname/report/showLog.php?prop=" + propValFromJSONSource;
    }
    else {
        // If here, I can't generate a valid link, so I want to not have a hyperlink and just show the data
        return ???;
    }
}
在else语句中,我可以做些什么来从格式化程序返回,以指示制表程序不创建超链接

我试过:

return "";  // This makes the hyperlink go to "<currentURL>"
return null; // This generates a relative hyperlink to "<currentURL>/null"
return undefined; // This generates a relative hyperlink to "<currentURL>/undefined"
返回“”;//这将使超链接转到“”
返回null;//这将生成指向“/null”的相对超链接
返回未定义;//这将生成指向“/未定义”的相对超链接
我怀疑我可能无法使用链接格式化程序,需要切换到返回“0”的自定义格式化程序回调
我还存在无法左键单击超链接的问题(即使它在状态栏中正确显示);我只能中键单击或右键单击并选择“在新选项卡中打开”“。我不确定这是否是制表器中的错误,或者Chrome出于某种原因不理解它,但这应该是另一个SO问题…

现在,我建议使用自定义格式化程序:

tabulatorTable.addColumn({
    title: "Value",
    field: "JSONDoc.Path.To.Property",
    formatter: getHyperLink,
});
然后让回调函数返回超链接或文本的html代码:

function getHyperLink(cellComp, formatterParams, onRendered) {
    var cellData = cellComp.getData();
    var cellValue = cellComp.getValue();

    var propValFromJSONSource = cellData.SomeProperty;

    if( propValFromJSONSource != 0) {
        var hrefString = "http://hostname/report/showLog.php?prop=" + propValFromJSONSource;
        return "<a href='" + hrefString + "' target='_blank'>" + cellValue + "</a>";
    }
    else {
        return cellValue;
    }
}
函数getHyperLink(cellComp、formatterParams、onRendered){ var cellData=cellComp.getData(); var cellValue=cellComp.getValue(); var propValFromJSONSource=cellData.SomeProperty; 如果(propValFromJSONSource!=0){ var hrefString=”http://hostname/report/showLog.php?prop=“+propValFromJSONSource; 返回“”; } 否则{ 返回单元格值; } }
目前,我建议使用自定义格式化程序:

tabulatorTable.addColumn({
    title: "Value",
    field: "JSONDoc.Path.To.Property",
    formatter: getHyperLink,
});
然后让回调函数返回超链接或文本的html代码:

function getHyperLink(cellComp, formatterParams, onRendered) {
    var cellData = cellComp.getData();
    var cellValue = cellComp.getValue();

    var propValFromJSONSource = cellData.SomeProperty;

    if( propValFromJSONSource != 0) {
        var hrefString = "http://hostname/report/showLog.php?prop=" + propValFromJSONSource;
        return "<a href='" + hrefString + "' target='_blank'>" + cellValue + "</a>";
    }
    else {
        return cellValue;
    }
}
函数getHyperLink(cellComp、formatterParams、onRendered){ var cellData=cellComp.getData(); var cellValue=cellComp.getValue(); var propValFromJSONSource=cellData.SomeProperty; 如果(propValFromJSONSource!=0){ var hrefString=”http://hostname/report/showLog.php?prop=“+propValFromJSONSource; 返回“”; } 否则{ 返回单元格值; } }