Angularjs 角度:对选择的选项进行排序
我所拥有的巨型对象数组是按代码排序的,而不是人类友好的名称。我希望它显示友好 端口服务:Angularjs 角度:对选择的选项进行排序,angularjs,sorting,drop-down-menu,Angularjs,Sorting,Drop Down Menu,我所拥有的巨型对象数组是按代码排序的,而不是人类友好的名称。我希望它显示友好 端口服务: var _getPorts = function (){ return _portList; } var _portList = [{ "code": "0101", "portOfEntry": "Portland, ME" }, { "code": "0102",
var _getPorts = function (){
return _portList;
}
var _portList = [{
"code": "0101",
"portOfEntry": "Portland, ME"
}, {
"code": "0102",
"portOfEntry": "Bangor, ME"
}, {
"code": "0103",
"portOfEntry": "Eastport, ME"
}, {
"code": "0104",
"portOfEntry": "Jackman, ME"
}, ...
vm.getPortsSelect = function () {
vm.ports = portsService.getPorts();
};
<select
ng-model="adminManifestVm.Manifest.usPortOfArrival"
ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
name="usPortOfArrival"
class="form-control input-inline input-medium"
required>
<option value=""></option>
</select>
控制器:
var _getPorts = function (){
return _portList;
}
var _portList = [{
"code": "0101",
"portOfEntry": "Portland, ME"
}, {
"code": "0102",
"portOfEntry": "Bangor, ME"
}, {
"code": "0103",
"portOfEntry": "Eastport, ME"
}, {
"code": "0104",
"portOfEntry": "Jackman, ME"
}, ...
vm.getPortsSelect = function () {
vm.ports = portsService.getPorts();
};
<select
ng-model="adminManifestVm.Manifest.usPortOfArrival"
ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
name="usPortOfArrival"
class="form-control input-inline input-medium"
required>
<option value=""></option>
</select>
查看:
var _getPorts = function (){
return _portList;
}
var _portList = [{
"code": "0101",
"portOfEntry": "Portland, ME"
}, {
"code": "0102",
"portOfEntry": "Bangor, ME"
}, {
"code": "0103",
"portOfEntry": "Eastport, ME"
}, {
"code": "0104",
"portOfEntry": "Jackman, ME"
}, ...
vm.getPortsSelect = function () {
vm.ports = portsService.getPorts();
};
<select
ng-model="adminManifestVm.Manifest.usPortOfArrival"
ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
name="usPortOfArrival"
class="form-control input-inline input-medium"
required>
<option value=""></option>
</select>
有很多方法可以手动对对象数组进行排序。有角度的方法吗?你可以使用过滤器
您只需使用过滤器即可
是的,有角度的方法是使用。在这种情况下,过滤器如下所示:
<select ng-model="adminManifestVm.Manifest.usPortOfArrival"
ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy: 'code'"
name="usPortOfArrival"
class="form-control input-inline input-medium"
required>
<option value=""></option>
</select>
以下是来自orderBy
文档的用法:
{{orderBy_expression}orderBy:expression:reverse:comparator}
如您所见,也可以使用反向布尔值反转顺序。表达式也可以选择加+或-前缀,以控制排序方向,升序或降序。例如,在本例中,“+code”或“-code”。是的,角度的方法是使用。在这种情况下,过滤器如下所示:
<select ng-model="adminManifestVm.Manifest.usPortOfArrival"
ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy: 'code'"
name="usPortOfArrival"
class="form-control input-inline input-medium"
required>
<option value=""></option>
</select>
以下是来自orderBy
文档的用法:
{{orderBy_expression}orderBy:expression:reverse:comparator}
如您所见,也可以使用反向布尔值反转顺序。表达式也可以选择加+或-前缀,以控制排序方向,升序或降序。例如,本例中的“+code”或“-code”。是。非常感谢。已标记为答案。尝试过你的演示应用程序链接已失效,我收到“加载plunk时出错”是。非常感谢。已标记为答案。尝试过你的演示应用程序链接已失效,我收到“加载plunk时出错”