我目前在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吗?或者我是否必须制作自己的选择组件?
答案 0 :(得分:1)
您可以使用ember-cli-selectize提供的add-value
和remove-value
操作。请查看以下twiddle。正如您在my-route.hbs
中看到的,我为add-value
和remove-value
提供了操作处理程序。在my-route.js
中,您可以看到如何从car_makes
添加/删除选定/取消选择的值,这是一个数组;不是计算属性。希望这会有所帮助。