【发布时间】:2023-03-29 18:20:01
【问题描述】:
我有一个获取以下数据的 ember 路由:
return this.store.findAll('servicerequest');
其中一个字段是一个名为 created_at 的日期字段,我正在尝试对其进行排序。
这是我的服务请求控制器:
import Controller from '@ember/controller';
import { sort } from '@ember/object/computed';
export default Controller.extend({
appName: 'Service Requests',
sortAscending: false,
sortDefinition: ['created_at:desc'],
sortedRequests: sort('servicerequest', 'sortDefinition')
});
这是我输出数据的 hbs 部分:
{{#each sortedRequests as |servicerequest|}}
{{servicerequest-list status=servicerequest.status srdescription=servicerequest.srdescription priority=servicerequest.priority created_at=servicerequest.created_at
current_user_id=servicerequest.current_user_id servicerequestId=servicerequest.id}}
{{/each}}
我无法按 created_at 字段 desc 排序。我做错了什么?
更新:
这是我的模型:
import DS from 'ember-data';
export default DS.Model.extend({
requester_name: DS.attr('string'),
srdescription: DS.attr('string'),
priority: DS.attr('string'),
status: DS.attr('string'),
created_at: DS.attr('date'),
current_user_id: DS.attr()
});
数据来自 rails api。 created_at 字段是系统在记录上的默认设置,这就是为什么有下划线的原因。
我正在使用 ember-cli: 3.0.2
【问题讨论】:
-
能分享一下你的模型吗?您发布的代码对我来说似乎是正确的。但也许模型上的
created_at属性有问题。我也觉得很奇怪,你的财产被强调了。通常 ember.js 中的约定是使用驼峰式的属性名称。 -
您使用的是哪个版本的 Ember?我相信 computed.sort 在 2.16 中被删除了
-
谢谢各位。我已经用您的问题的答案更新了原始帖子。任何信息表示赞赏。