You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将AG Grid React Enterprise文本列过滤改为强制精确匹配

以下是适配AG Grid React Enterprise + Adaptable技术栈的两种实现方案,可根据实际业务需求选择:

方案1:AG Grid原生配置(无Adaptable过滤定制需求时使用)

直接在列定义中修改文本过滤器的默认规则,强制使用完全匹配,可自行选择是否允许用户切换其他匹配模式:

const columnDefs = [
  {
    field: '需要强制完全匹配的文本列字段名',
    filter: 'agTextColumnFilter',
    filterParams: {
      // 设置默认选中的过滤规则为完全匹配
      defaultOption: 'equals',
      // 可选配置:仅保留完全匹配选项,用户无法切换为包含/开头匹配等其他规则
      filterOptions: ['equals'],
      // 可选配置:是否开启大小写敏感,默认false
      caseSensitive: false
    }
  },
  // 其余列定义
]

方案2:Adaptable侧全局/列级配置(使用Adaptable过滤能力时使用)

如果业务中使用了Adaptable接管AG Grid的过滤逻辑,需要在Adaptable初始化配置中修改过滤规则:

import { AdaptableOptions } from '@adaptabletools/react';

const adaptableOptions: AdaptableOptions = {
  // 其余Adaptable基础配置
  predefinedConfig: {
    Filter: {
      // 全局配置:所有文本列默认使用完全匹配规则
      DefaultFilterOperators: {
        String: 'Equals',
      },
      // 可选配置:单独为指定列设置强制完全匹配,优先级高于全局配置
      ColumnFilterRules: [
        {
          ColumnId: '需要强制完全匹配的文本列字段名',
          DefaultOperator: 'Equals',
          // 可选配置:禁止用户切换其他匹配运算符
          AvailableOperators: ['Equals'],
        }
      ]
    }
  }
};

补充配置说明

  • 若需要实现输入过滤文本时实时校验,不需要用户点击确认按钮,可在AG Grid的filterParams中新增配置applyWhileTyping: true
  • 若需要忽略文本首尾空格再做匹配,可自定义过滤判定函数,示例如下:
filterParams: {
  defaultOption: 'equals',
  filterPredicate: (cellValue, filterValue) => {
    return cellValue?.trim() === filterValue?.trim();
  }
}

内容的提问来源于stack exchange,提问作者Henders

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:24:01