制表符/变异符和条件未运行

问题描述 投票:0回答:1

我的目标是在满足条件时在制表符中运行变异器以将值更新为链接。我在 jsfiddle 中包含了一个示例。创建表时似乎变通器没有运行。我已经添加了日志,但控制台中没有显示任何日志。 JavaScript 示例是

//Sample Data
var tableData = [
    {name:"Bob"},
    {name:"Steve",link:"https://example.org"},
    {name:"Jim"},
]

//Example Table
var table = new Tabulator("#table", {
  data: tableData, //load data into table
  height: 200, //enable the virtual DOM
  columns: [{
    title: "Name",
    field: "name",
    width: 300,
    mutator: certificateMutator,
    mutatorParams: {
      certLink: "https://example.org"
    },
  }, ]
});

var certificateMutator = function(value, data, type, params, component) {
  try {
    //let cert = params;
    console.log('here');
    if (value == 'Steve') {
      let cert = mutatorParams.certLink;
      let certLink = document.createElement('a');
      certLink.href = cert;
      certLink.target = '_blank';
      certLink.innerText = 'Certificate for' + value;
      console.log(certLink);
      return certLink;
    } else {
        return value;
    }
    //return value > mutatorParams.certLink;
  } catch (err) {
    console.log('certificateMutator err: ' + err);
  }
};
javascript tabulator
1个回答
0
投票

创建表后,您将赋值函数分配给变量 (

certificateMutator
)。

您可以在表之前声明 mutator 变量:

var certificateMutator = function(value, data, type, params, component) { ... }

var table = new Tabulator("#table", { ... })

或者,更好的是,将

certificateMutator
声明为函数而不是变量,并且表之前或之后的放置并不重要:

var table = new Tabulator("#table", { ... })

function certificateMutator(value, data, type, params, component) { ... }
© www.soinside.com 2019 - 2024. All rights reserved.