通过使用AngularJs进行分组来填充下拉列表


Populate a Dropdown list by grouping using AngularJs

我有一个下拉列表,用于保存电子邮件模板。现在,我将其分为两种类型的模板。一种是"用户生成的模板",另一种是系统生成的模板。

我有不断添加模板的功能,它们会被填充到Dropdown中。

这里的重要部分是将模板"分组"为"电子邮件"answers"系统"。我有一个条件,每当添加"用户模板"时,它们都应该放在"系统模板"之上

我需要填充一个下拉列表,这样它就可以根据AngularJS的"用户"answers"系统"模板进行分组。我该怎么做?

寻求帮助!

假设模板的结构如下:

$scope.templates = [{
    type: 'Email',
    name: 'Template u1'
}, {
    type: 'Email',
    name: 'Template u2'
}, {
    type: 'System',
    name: 'Template s1'
}, {
    type: 'Email',
    name: 'Template u3'
}, {
    type: 'System',
    name: 'Template s2'
}, {
    type: 'System',
    name: 'Template s3'
}];

如果你想在下拉列表中按类型对它们进行分组,你会这样声明你的select元素:

<select ng-model="template" ng-options="template.name group by template.type for template in templates">
    <option value=''>Select a template</option>
</select>

参考此小提琴