UI-Grid select 过滤 returns 除一种类型外的所有类型

UI-Grid select filter that returns all but one type

我有一个 ui 网格,我的其中一列是可以使用 select 选项过滤的字段。在本示例中,我将其称为 'colour'。这是 def 列:

columnDefs: [
    {
        field: 'colour',
        cellTemplate: 'colour.cellTemplate.html',
        filter: {
            selectOptions: ['orange', 'blue', 'red', 'yellow', 'purple'].map(c =>({value:c, label:c})),
            type: uiGridConstants.filter.SELECT
        }
    }
]

现在这可以按颜色过滤我的网格并且效果很好。但是,我想添加一个名为 not blue 的字段,然后 return 每行的颜色都不是蓝色。我将如何实施?如果我只添加一个名为 not blue 的选项,那么它只会 return 每个颜色值为 not blue 的字段,其中 none 个。有什么想法吗?

免责声明:我是 quite UI-grid 的新手,我试图阅读文档以找到这方面的帮助,但无法解决,很抱歉,如果我遗漏了一些明显的东西

我找到了解决办法。有一个名为 condition 的参数可以像这样实现:

columnDefs: [
    {
        field: 'colour',
        cellTemplate: 'colour.cellTemplate.html',
        filter: {
            selectOptions: ['orange', 'blue', 'red', 'yellow', 'purple', 'not blue'].map(c =>({value:c, label:c})),
            type: uiGridConstants.filter.SELECT,
            condition: (filter, cellValue) => {
                if (filter === 'not blue') {
                    return cellValue !== 'blue';
                }
                return cellValue === filter;
            }
        }
    }
]