【发布时间】:2019-11-28 12:46:29
【问题描述】:
在 AngularJS 中可以对这样的数组进行排序 ng-repeat="user in users | orderBy: order" 我需要知道如何在 ReactJS 中执行此操作,这是 AngularJS 中的一个示例
const myApp = angular.module('myApp', [])
myApp.controller('myAppController', ['$scope', $scope => {
$scope.users = [
{ name: 'Maria', age: 16, color: 'red' },
{ name: 'Mike', age: 18, color: 'black' },
{ name: 'John', age: 23, color: 'green' },
{ name: 'Liza', age: 21, color: 'yellow' }
]
$scope.order = 'name'
$scope.orderBy = orderBy => $scope.order = orderBy
}])
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<table ng-app="myApp" ng-controller="myAppController">
<tr>
<th ng-click="orderBy('name')">Name</th>
<th ng-click="orderBy('age')">Age</th>
<th ng-click="orderBy('color')">Color</th>
</tr>
<tr ng-repeat="user in users | orderBy: order">
<td>{{user.name}}</td>
<td>{{user.age}}</td>
<td>{{user.color}}</td>
</tr>
</table>
【问题讨论】:
-
Array.prototype.sort() 有一些有用的示例用于对对象属性进行排序。 ReactJS 不提供这样的功能。
标签: javascript reactjs