我有这个 json 附加到一个垫表
const pendingUsers: pendingUsersData [] = [{
'autoReLogin': false,
'rolesAccess': [{
'requestReason': 'because i need it',
'status': 'pending',
'role': 'API_ApplicationDeveloper'
}],
'userId': 'f123132',
'emailId': 'me@google.com',
'firstName': 'Me',
'lastName': 'ME',
'country': 'IN'
}, {
'autoReLogin': false,
'rolesAccess': [{
'requestReason': ' ',
'status': 'pending',
'role': 'API_ApplicationDeveloper'
}],
'userId': 'F12455',
'emailId': 'ak@gmail.com',
'firstName': 'AKl',
'lastName': 'M',
'country': 'IN'
}, {
'autoReLogin': false,
'rolesAccess': [{
'requestReason': ' ',
'status': 'pending',
'role': 'API_ApplicationDeveloper'
}],
'userId': 'F14123',
'emailId': 'pg@gmail.com',
'firstName': 'Prs',
'lastName': 'Gpta',
'country': 'IN'
}, {
'autoReLogin': false,
'rolesAccess': [{
'requestReason': 'exception_response_reason',
'status': 'pending',
'role': 'API_ApplicationDeveloper'
}],
'userId': 'F99349',
'emailId': 'ank.sh@gmail.com',
'firstName': 'Ank',
'lastName': 'Shy',
'country': 'IN'
}];
我正在使用以下代码对列进行排序
ngAfterViewInit() {
this.pendingUsersDataSource.paginator = this.paginator.toArray()[0];
this.pendingUsersDataSource.sort = this.sort.toArray()[0];
this.pendingUsersDataSource.sortingDataAccessor = (item, property) => {
switch (property) {
case 'rolesAccess[0].requestReason': return item.rolesAccess[0].requestReason;
default: return item[property];
}
};
}
除了附加到角色访问的列之外,排序似乎对所有列都有效。我还可以根据 requestReason 和角色进行排序。此时排序似乎没有发生。