如何添加左侧下拉菜单以选择运算符

How to add left-side dropdown to choose the operator

我尝试在 filter.DateRange 中添加左侧下拉菜单,但我不知道该怎么做

我希望用户可以在一列中使用“<”、“>”等选择范围或单个日期。

我是 Angular-Slickgrid

的作者

您所说的左侧下拉菜单仅适用于复合过滤器,日期范围不是复合过滤器。这个过滤器没有必要也没有用例成为复合过滤器,我不会添加这样的功能。但是,您可以在列定义中将运算符设置为包含 (>= date1 && <= date2) 或排除 (> date1 && < date2)。 Range Filters 和 Compound Filters 非常不同,你不能把一个 Compound Filter 的所有运算符都添加到一个 Range Filter (<, <=, <>, >, >=) 中,这没有任何意义,什么有意义一个范围是要知道它是否是 inclusive/exclusive 并且它不是动态可用的。

this.columnDefinitions = [
  {
    id: 'finish', name: 'Finish', field: 'finish', 
    formatter: Formatters.dateIso, 
    type: FieldType.date,
    filter: {
      model: Filters.dateRange,
      operator: OperatorType.rangeInclusive, // defaults to exclusive
    }
  },
  // ...
];

如果您真的希望以某种方式构建一个复合日期范围过滤器,您唯一的选择就是创建您自己的自定义过滤器,为此请按照 Wiki - Custom Filter 上的说明进行操作,您可以扩展已构建的-输入日期过滤器。