我在 Tabulator 中添加了一个新列,其中包含此列定义
table.addColumn({title:"idCopy", field: "idCopy" ,sortable:false, formatter:uploadID,width:100, align:"center",cellClick:function(e, cell){
function selected(){
var fileName = formInput.value;
cell.getRow().getData().idCopy = fileName;
}
var f = document.createElement("form");
var formInput = document.createElement('input');
formInput.onclick = "selected(cell,f,formInput)" ;
var s = document.createElement("input");
s.setAttribute('type',"submit");
f.appendChild(formInput);
f.appendChild(s);
f.onClick = formInput.click();
}}, false);
我添加了更多行来定义每个表单,ID与此类似 f.id = "f_" + cell.getRow().getData().id ;
所以每个表单都是唯一的 uploadID
函数看起来像这样
var uploadID = function(cell, formatterParams, onRendered){
return "<i class='fa fa-print'>upload ID</i>";
这是我从官方资源获得的http://tabulator.info/docs/4.1/format#icon问题是每当我选择文件 cell.getRow().getData().idCopy
的值为 fileName
这正是我想要的但是在桌子的单元格上它仍然说 upload ID
而不是 fileName
的值
因此,用户将不知道他刚刚选择了文件,系统已准备好上传它 .
是否有一种方法 replace upload ID
与 fileName
值或 refresh 这些单元格?
1 回答
我通过应用行重组来修复它
首先我在
var uploadID = function(cell, formatterParams, onRendered){}
添加了一个条件例如 :
然后在`cellClick:function(e,cell){}
我在代码末尾添加了以下内容