使用ng-table自定义过滤/排序并选择
Custom filtering / ordering with ng-table and selectize
我的一个ng-table列包含一个选择下拉列表。此列的值是另一个表的外键。我希望显示这个键所代表的行的另一个属性(名称),而不是显示这个键。我的数据在一个名为table的数组中。
我使用另一个数组fkTable来正确显示下拉列表。
<selectize ng-model="row[col.name]"
options='fkTable'
config='fkConfig'">
where fkConfig:
$scope.fkConfig = {
maxItems: 1,
valueField: 'id',
labelField: 'name',
searchField: 'name'
};
现在我希望能够根据外部行名称(而不是id)过滤和排序该列。
我尝试将id映射到它们的名称:
$scope.foreignRowNames = {
0:"not grouped"
1:"Google"
14:"Youtube"
}
和为这个特定的列创建一个自定义过滤器:
function filterSelectizeColumn(table, searchTerm) {
for (var i = 0; i < table.length; i++) {
var fkValue = table[i].fk;
var foreignRowName = $scope.foreignRowNames[fkValue]];
if (foreignRowName.indexOf(searchTerm) == -1) {
table = table.splice(i, 1);
}
}
}
但这似乎是一种尴尬和低效的方式来解决一些问题,我本以为这是一个比较常见的问题,因为这两个库都很流行。
我的问题是如何有效地为这个外键列创建一个自定义过滤器
我的解决方案:
- 用对应的名称替换所有外键
- 编辑时,将名称转换回它们所代表的键
相关文章:
- Select2val不反映选择顺序,但对其进行排序
- 通过javascript和php动态排序表以及其他一些选择标准
- 如何在d3中对形状选择进行排序
- 如何根据用户选择顺序重新排序多选的值
- 动态生成<选择>未显示已排序列表中的第一个项目
- 使用多个页面的选择选项标签对 mysql 中的数据进行排序
- 是否有根据特异性对 CSS 选择器文本进行排序的 JS 库
- 将值添加到选择和排序
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 选择下拉列表时,按角度中的多个字段排序
- 在JS选择列表中按字母顺序对选项进行排序
- D3 - 为什么此排序函数不更新其选择中的所有元素
- EmberJS ArrayControlller 在排序后重置选择
- Javascript/JQuery 对选项中的选择元素和标签属性进行排序
- 在第一个由 angularjs 选择中排序默认选项
- 使用JavaScript的“选择排序”
- 使用javascript排序选择选项
- 排序选择框经典asp
- 如何排序选择列表中的选项,但保留一个在顶部
- Javascript中的排序选择选项-基于同一行中的多个值