[英]custom filter ag grid react
我希望Floating filters
可以幫助您。
在ag-grid 文檔中查看此示例
filter: "agNumberColumnFilter",
floatingFilterComponent: "sliderFloatingFilter",
floatingFilterComponentParams: {
maxValue: 5,
suppressFilterButton: true
},
該示例顯示了sliderFloatingFilter
,要使其成為下拉過濾器,我認為您需要為其創建自定義組件。
看看ag-grid團隊如何在GitHub 代碼上制作TextFloatingFilterComp
、 DateFloatingFilterComp
、 NumberFloatingFilterComp
等
希望這會有所幫助。
我使用此列配置實現了下拉/枚舉過濾器。 我的情況,我試圖添加一個布爾過濾器。
這是完整的例子
https://codesandbox.io/s/ag-grid-react-enum-filter-q4er8?file=/src/App.js:1572-1599
const getEnumColumnParams = (enumMap) => { return { cellRenderer: (params) => { if (!params.data) return ""; const { value } = params; return enumMap[value]; }, filterParams: { buttons: ['reset', 'apply'], closeOnApply: true, filterOptions: [ "empty", ...Object.keys(enumMap).map(key => { return { displayKey: key, displayName: enumMap[key], test: function (filterValue, cellValue) { return cellValue === true; }, hideFilterInput: true, }; }) ], suppressAndOrCondition: true, }, }; }; const boolEnum = { true: 'Yes', false: 'No' }; const colorEnum = { '#ff00000': 'Red', '#00ff00': 'Green', '#0000ff': 'Blue', }; const columnDefs = [ { field: 'available', ...getEnumColumnParams(boolEnum), }, { field: 'color', ...getEnumColumnParams(colorEnum), } ];
或者您可以創建列類型並在列定義中分配type: 'boolColumn'
等,就像我在上面的代碼和框示例中所做的那樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.