Ember power选择对表格结果进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ember power选择对表格结果进行排序相关的知识,希望对你有一定的参考价值。

我目前有一个路由servicerequests.index。在这条路线中,我正在显示我在路线中通过此呼叫获得的所有服务请求的表格:

model() {
return this.store.findAll('servicerequest').then(results => 
results.sortBy(this.get('selectedFilter')).reverse());
}

在我的hbs文件中,我有这个功能选择:

{{#power-select options=filterOptions placeholder="Select a filter" 
selected=selectedFilter onchange=(action (mut selectedFilter))  
searchField="filterOptions" as |filter|}}
   {{filter.descr}}
{{/power-select}}

在我的控制器中,我定义了选项:

filterOptions: [
{ descr: "created_at" },
{ descr: "priority" },
{ descr: "status" }],

actions: {
  selectedFilter(filter) {
    this.set('selectedFilter', filter);

  }
},

我想要发生的是当我选择不同的过滤器排序选项来重新排序页面上的结果时。你是怎么做的?

由于来自路径的数据和控制器中设置的选项,我不知道在哪里执行所选功率的逻辑。

任何想法或建议表示赞赏。

答案

使用控制器中的计算机属性进行排序。不要在模型钩子中这样做。

我的回答here与此非常相关。

基本上在你的路线中这样做:

model() {
  return this.store.findAll('servicerequest');
}

然后在你的控制器中:

filtetedModel: computed('selectedFilter', 'model.@each.{created_at,priority,status}', {
  get() {
    return this.model.sortBy(this.selectedFilter);
  }
}),
filterOptions: [
  { descr: "created_at" },
  { descr: "priority" },
  { descr: "status" }
],
actions: {
  selectedFilter(filter) {
    this.set('selectedFilter', filter);
  },
}

以上是关于Ember power选择对表格结果进行排序的主要内容,如果未能解决你的问题,请参考以下文章

按属性对 EmberJS 对象数组进行排序

Power Query 能否以不同级别的小计详细信息对数据进行表格化?

在DAX / Power BI中对值进行排序

如何对ArrayList中的某个属性进行排序

power bi怎么排序?power bi自定义排序啊?求教程

选择前 50 行然后排序