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