Магистральные формы - лучший способ изменить выбранные параметры

Я ищу лучший метод для изменения выбранных опций по требованию. Я знаю, что могу поменять параметры с помощью метода setOptions в поле формы, но в моем случае это не помогает. Было бы лучше изменить параметры до создания формы.

В моей модели много полей с похожей схемой:

field:{type:"Select",title:"", validators: ['required'], options:new App.Collections.SomeCollection()}

Скажем, мне нужно создать форму, и я не хочу, чтобы все элементы SomeCollection были выбраны. Мне нужно их немного, и я могу достать эту коллекцию, это не проблема. Есть ли способ поменять параметры перед созданием экземпляра Backbone Forms? Я пробовал это, но пока безуспешно. Я уже сталкивался с этой проблемой во второй раз, и я создал select вручную (вне движка Backbone Forms, поэтому без использования свойства data-fields), а затем также вручную вставил параметры, но я считаю, что есть лучшая идея.

Спасибо за любые идеи!

1 ответ

Используйте отфильтрованную версию вашей коллекции. Вместо прохождения field.options перед тем, кто отвечает за отображение и вывод параметров, передайте отфильтрованную версию коллекции.

var filteredOptions = field.options.filter(function (optionModel) {
    // Some filter boolean check (true adds it to filteredOptions).
    return optionModel.get('key') !== 'UK';
});

Вы делаете это каждый раз, когда вам нужно повторно визуализировать выборку с новой отфильтрованной версией коллекции.

PS Фильтр происходит от подчеркивания.

Другие вопросы по тегам