在查询参数上使用ember-cli-selectize multlectlect

时间:2017-03-30 13:49:07

标签: ember.js ember-cli selectize.js ember-query-params

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

模板

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="wrapper">
 
 <header class="header"></header>
  <div class="content">
    <button>Click here to insert content into footer.</button>
  </div>
  <footer class="footer"></footer>

</div>

控制器

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

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

author suggests使用计算值,如下所示:

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

唯一的问题是Ember does not support query params as a computed value

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

1 个答案:

答案 0 :(得分:1)

您可以使用ember-cli-selectize提供的add-valueremove-value操作。请查看以下twiddle。正如您在my-route.hbs中看到的,我为add-valueremove-value提供了操作处理程序。在my-route.js中,您可以看到如何从car_makes添加/删除选定/取消选择的值,这是一个数组;不是计算属性。希望这会有所帮助。