Несколько редакторов в handsontable

Мне интересно, как можно использовать несколько редакторов в библиотеке handsontable.js.

Я использую параметр columns для указания атрибутов каждого столбца. Некоторые из них показывают список с возможными вариантами для ячейки:

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

В этом случае он сгенерирует список опций в опции source.

Теперь я хотел бы добавить еще один редактор в соответствии с этой другой проблемой, но я заметил, что если я добавлю его в объявление столбцов, я потеряю исходную опцию, которая генерирует список автозаполнения:

{
    //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
}

Любое решение для этого?

Воспроизведение проблемы


person Alvaro    schedule 20.04.2015    source источник


Ответы (1)


Handsontable использует каскадную конфигурацию, которая способ предоставить параметры конфигурации для всей таблицы, ее столбцов или отдельных ячеек.

В вашем случае указание атрибута type (вы упомянули об этом здесь) превосходит верхнее свойство уровня editor: LoggingEditor. Чтобы использовать пользовательский редактор, вы должны либо не указывать тип (поскольку по умолчанию используется текст), либо добавить свойство editor ко всем определениям столбцов. Я отредактировал ваш пример, чтобы использовать оба метода в этой скрипте (обратите внимание, что поле автозаполнения не работает, но вы должны добавить еще один пользовательский редактор, а не использовать текстовый).

person Milan Milanov    schedule 20.04.2015
comment
Итак, нет ли способа использовать редактор и в то же время использовать type: autocomplete ? - person Alvaro; 21.04.2015
comment
Я создал копию проблемы здесь. Как видите, я использую атрибуты editor и type для каждого столбца. И все же, автозаполнение не работает. - person Alvaro; 21.04.2015
comment
Это будет работать, если вы расширите AutocompleteEditor для столбцов type: 'autocomplete'. Взгляните на страницу пользовательских редакторов на ГОРЯЧЕЙ вики и < href="https://github.com/handsontable/handsontable/tree/master/src/editors" rel="nofollow noreferrer">реализации редактора. - person Milan Milanov; 21.04.2015