Магистральные формы - лучший способ изменить выбранные параметры
Я ищу лучший метод для изменения выбранных опций по требованию. Я знаю, что могу поменять параметры с помощью метода 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 Фильтр происходит от подчеркивания.