Я использую bootstrap-select
, чтобы помочь вам выбрать элементы лучше в моем приложении Meteor.Meteor on change change update Элемент выбора шаблона
Однако я столкнулся с проблемой, когда после внесения изменений в Метеорную коллекцию реакционная способность отталкивается, возвращается к шаблонам, таким образом переписывая элементы выбора и уничтожая исходный элемент выбора, который также забирает вещи bootstrap-select
,
Интересно, есть ли у меня способ предотвратить это каким-то образом. Я попытался прослушать изменения и вспомнить selectpicker
после обновления, но он не работает.
Applications.find().observe({
changed: function() {
console.log('something changed');
$('.selectpicker').selectpicker();
}
});
Я даже пытаюсь немного отложить дело, также безрезультатно.
Applications.find().observe({
changed: function() {
console.log('something changed');
setTimeout(function(){
$('.selectpicker').selectpicker();
console.log('trying to update select picker');
}, 1000);
}
});
Неужели кто-нибудь сталкивается с этой проблемой раньше и знает, как ее исправить?
EDIT: Вот код шаблона
<div class="form-group">
<label for="college" class="control-label">College/ University</label>
<select class="selectpicker" name="college" placeholder="Select a College/ University">
{{#each colleges}}
<option value="{{slug}}">{{name}}</option>
{{/each}}
</select>
</div>
Это хорошая идея. Но если он находится в постоянном блоке, означает ли это, что он не получит никакого обновления изменений модели? Будет ли блок сохранения работать? –
@Tri - Это, как вы говорите: обновления документов в постоянном вспомогательном блоке не будут показаны. Лучшее место для размещения '$ ('. Selectpicker'). Selectpicker()', вероятно, находится в функции 'Template.yourTemplateName.rendered', но тогда выбранный элемент в элементе select-bootstrap будет создан с нуля на каждом повторе рендеринг, а предыдущий выбранный элемент больше не будет выбран. Я не могу придумать простой способ решить эту проблему, но если бы я был вами, я бы пошел с этим решением и дополнительно добавил 'selected =" выбранный '' к выбранному '
Спасибо @Peppe, я уже вызываю его в функции «rendered», но это не решает проблему, упомянутую в моем вопросе, а именно, что при изменении модели элемент 'select' обновляется, тем самым загружая« bootstrap » -select'. –