多个编辑器在handsontable

时间:2015-04-20 16:10:39

标签: javascript handsontable

我想知道如何在handsontable.js库中使用多个编辑器。

我正在使用columns选项指定每个列属性。 其中一些显示了包含单元格可能选项的列表:

{
    data: 3,
    type: 'autocomplete',
    source: function (query, process) {
        response = JSON.parse($('#options').val());
        process(response);
    },
    strict: false,
    allowInvalid: true,
},

在这种情况下,它将生成source选项中的选项列表。

现在,我想根据this other issue添加另一个编辑器,但我注意到如果我在列声明中添加它,那么我将丢失生成自动完成列表的源选项:

{
    //START
    data: 3,
    type: 'autocomplete',
    source: function (query, process) {
        response = JSON.parse($('#start_array').val());
        process(response);
    },
    strict: false,
    allowInvalid: true,
    editor: LoggingEditor //added here
}

对此有任何解决方案吗?

Reproduction of the issue

1 个答案:

答案 0 :(得分:1)

Handsontable正在使用cascading configuration,这是为整个表,其列或特定单元格提供配置选项的方法。

在您的情况下,指定type属性(您提到它here)胜过顶级editor: LoggingEditor属性。要使用自定义编辑器,您必须不指定类型(因为默认值是文本)或将editor属性添加到所有列定义。我已编辑您的示例以在this fiddle中使用这两种方法(请注意,自动填充字段不起作用,但您应该添加另一个自定义编辑器而不使用文本编辑器。)