使用 smart-table 按动态映射值排序

Using smart-table sorting by dynamic map value

我有一个 table 来显示记录。其中一列包含 select,用于选择记录的版本。第二个是日期映射,其中键是版本。这看起来像这样:

    <td><select ng-model="record.currentVersion"> ...</td>
    <td>{{record.dates[record.currentVersion]}}

我想按第二列的值添加排序,但我不确定如何在 st-sort 中处理对象自身的 属性。 st-sort="dates[currentVersion]" 之类的东西不起作用。这可能吗?

定义一个新函数:

$scope.getDate = function(record) {
  return record.dates[record.currentVersion];
};

使用st-sort:

<th st-sort="getDate">Date</th>

演示: http://plnkr.co/edit/l6poIsZ2YHUyeFf4TdET?p=preview