0

我目前在 ember.js 中的查询参数上使用ember-cli- selectize。非常类似于以下内容:

模板

{{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([])
});

但是,我想在我的模板中将“multiple”设置为“true”并进行多选。在多模式下这样做意味着不再支持“值”。

作者建议使用计算值,如下所示:

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

唯一的问题是,Ember 不支持将查询参数作为计算值

那么,任何人都可以想出一种方法来欺骗 Ember 吗?还是我必须制作自己的选择组件?

4

1 回答 1

1

您可以使用ember-cli-selectize提供的add-value操作。看看下面的玩转。正如您在 中看到的,我为和提供了动作处理程序。在您可以看到选择/取消选择的值如何添加到数组中/从中删除;不是计算属性。希望这可以帮助。remove-valuemy-route.hbsadd-valueremove-valuemy-route.jscar_makes

于 2017-03-30T16:43:51.817 回答