Использование ember-cli-selectize multiselect для параметров запроса

В настоящее время я использую ember-cli-selectize для параметра запроса в ember.js. . Примерно так:

Шаблон

{{ember-selectize
  content=makes
  optionValuePath="content.make"
  optionLabelPath="content.make"
  value=car_makes
  selection=carMakes
  multiple=false
  placeholder="Filter by car make..." }}

Контроллер

import Ember from 'ember';
export default Ember.Controller.extend({
   queryParams: ['car_makes'],
   car_makes: null,
   carMakes: Ember.A([])
});

Тем не менее, я хочу установить для «несколько» значение «истина» в моем шаблоне и иметь множественный выбор. Выполнение этого в множественном режиме означает, что «значение» больше не поддерживается.

автор предлагает использовать вычисляемое значение, например:

car_makes: Ember.computed.mapBy('carMakes', 'make')

Единственная проблема заключается в том, что Ember не поддерживает параметры запроса в качестве вычисляемого значения.

Итак, кто-нибудь может придумать способ обмануть Эмбер? Или мне придется сделать свой собственный компонент selectize?


person Blaher    schedule 30.03.2017    source источник


Ответы (1)


Вы можете использовать действия add-value и remove-value, предоставляемые ember-cli-selectize. Взгляните на следующий twiddle. Как вы можете видеть в my-route.hbs, я предоставил обработчики действий для add-value и remove-value. В my-route.js вы можете видеть, как выбранное/отключенное значение добавляется/удаляется из car_makes, который является массивом; не вычисляемое свойство. Надеюсь это поможет.

person feanor07    schedule 30.03.2017