javascript - 在 Ember.js 中创建分组选择

标签 javascript forms ember.js

使用 Ember.Select 在 Ember.js 中创建选择相对容易.

问题是,如何使用 optgroup 将其变成分组选择。我不认为这是内置的,但我猜对模板进行一些修改是可能的。

最佳答案

Ember 现在原生支持它,但有一些问题。在 1.4.0 中,以下解决方案有效...

这是示例数据:

foos: Ember.A([{value: 'foo', label: 'Foo', group: 'Foos'}, {value: 'bar', label: 'Bar', group: 'Bars'}, {value: 'bar2', label: 'Bar2', group: 'Bars'}, {value: 'foo2', label: 'Foo2', group: 'Foos'}])

这是 View 助手:

{{view Ember.Select content=controller.foos optionLabelPath='content.label' optionValuePath='content.value' optionGroupPath='group'}}

如果您只是执行上述操作,您将获得如下所示的选择列表:

enter image description here

我能解决这个问题的唯一方法是按分组字段首先对数组排序:

foos: Ember.A([{value: 'foo', label: 'Foo', group: 'Foos'}, {value: 'bar', label: 'Bar', group: 'Bars'}, {value: 'bar2', label: 'Bar2', group: 'Bars'}, {value: 'foo2', label: 'Foo2', group: 'Foos'}]).sortBy("group")

enter image description here

关于javascript - 在 Ember.js 中创建分组选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836596/

相关文章:

ember.js - 在Ember.js中从belongsTo关联中查找记录

javascript - 单页应用javascript不卸载会不会导致内存问题

javascript - 使用 ember-rails 收集输入字段中提交的文本

javascript - AngularJS Provider 不会注入(inject)到 angular.config

javascript - Syncano Codebox - 调用 API - 解析 JSON - 获取引用 - 保存新对象

来自构造函数的 C# 字符串未传递给表单

php - jQuery:如何获取文件上传输入字段的 "value"

javascript - 使用提交 <button> 而不是 &lt;input&gt; 按钮

javascript - AngularJS 初始路由 Controller 未加载。后续的都还好

javascript - 使用 Angular js 弹出传单