编辑器错误-找不到此类编辑器:制表符代码中的dateEditor

时间:2019-07-02 18:26:45

标签: javascript ember.js tabulator

我在ember js中使用制表符代码来构建可编辑表。 根据我尝试的制表器api中给出的示例,这里我需要一个用于date(http://tabulator.info/examples/4.2-可编辑数据)的格式化程序,在这里我遇到了编辑器错误-未找到这样的编辑器:dateEditor。

我在运行时为该列分配了dateEditor,如下所示。 我已经尝试过下面这个编辑器:“ dateEditor(cell,onRendered,success,cancel)”遇到相同的错误。

columnMap = 
{ 
align: "center", editor: "dateEditor"
}

var dateEditor = function(cell, onRendered, success, cancel){
    //cell - the cell component for the editable cell
    //onRendered - function to call when the editor has been rendered
    //success - function to call to pass the successfuly updated value to Tabulator
    //cancel - function to call to abort the edit and return to a normal cell

    //create and style input
    var cellValue = moment(cell.getValue(), "DD/MM/YYYY").format("YYYY-MM-DD"),
    input = document.createElement("input");

    input.setAttribute("type", "date");

    input.style.padding = "4px";
    input.style.width = "100%";
    input.style.boxSizing = "border-box";

    input.value = cellValue;

    onRendered(function(){
        input.focus();
        input.style.height = "100%";
    });

    function onChange(){
        if(input.value != cellValue){
            success(moment(input.value, "YYYY-MM-DD").format("DD/MM/YYYY"));
        }else{
            cancel();
        }
    }

    //submit new value on blur or change
    input.addEventListener("blur", onChange);

    //submit new value on enter
    input.addEventListener("keydown", function(e){
        if(e.keyCode == 13){
            onChange();
        }

        if(e.keyCode == 27){
            cancel();
        }
    });

    return input;
};

请帮我一些如何在制表符代码中调用customEditor。

1 个答案:

答案 0 :(得分:2)

根据文档,使用其变量或函数名称直接分配自定义编辑器。不是字符串。

columnMap = 
{ 
align: "center", editor: dateEditor
}

您的代码顺序也不正确。您无法分配尚不存在的内容。首先定义编辑器,然后分配给列映射,然后构造表。