【问题标题】:Error when passing filter parameter in Uigrid with cell nav使用单元格导航在 Uigrid 中传递过滤器参数时出错
【发布时间】:2015-10-13 04:04:07
【问题描述】:

我有一个带有 ui-grid-cellnav 指令的可编辑 Uigrid 来启用焦点编辑。我还有一个过滤器来显示下拉列表中的值而不是 id。

<div ui-grid="gridOptions" ui-grid-edit ui-grid-cellnav class="grid"></div>

JS

$scope.gridOptions.columnDefs = [
{ name:'name', width:100 },
{ name:'age', width:100},
{ name: 'gender', displayName: 'Gender', editableCellTemplate: 'ui-grid/dropdownEditor', width: '20%',
  cellFilter: "griddropdown:this", editDropdownIdLabel:'id',
  editDropdownValueLabel: 'gender', editDropdownOptionsArray: [
  { id: 1, gender: 'male' },
  { id: 2, gender: 'female' }
] }
];

只要修改下拉值,就会发生错误。似乎过滤器参数作为字符串而不是实际对象传递,但不知道为什么。如果我删除 cellnav 指令,工作正常。

Plnkr

提前致谢!

【问题讨论】:

    标签: angularjs angular-ui-grid angular-filters


    【解决方案1】:

    有趣,我玩了一下,看起来你得到了想要的结果,只是偶尔ui-grid 喜欢将字符串作为参数而不是对象传递。

    如果您在过滤器中添加对字符串的检查,看起来您仍将获得所需的结果,如果我理解正确的话:

    要添加的字符串检查:

    if (typeof context !== 'string') {}
    

    全过滤器:

    .filter('griddropdown', function() {
        return function (input, context) {
            if (typeof context !== 'string') {
                var map = context.col.colDef.editDropdownOptionsArray;
                var idField = context.col.colDef.editDropdownIdLabel;
                var valueField = context.col.colDef.editDropdownValueLabel;
                var initial = context.row.entity[context.col.field];
                if (typeof map !== "undefined") {
                    for (var i = 0; i < map.length; i++) {
                        if (map[i][idField] == input) {
                            return map[i][valueField];
                        }
                    }
                } else if (initial) {
                    return initial;
                }  
             }
             return input;
         };
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多