【发布时间】:2019-12-08 01:22:32
【问题描述】:
我在我的 Angular 应用程序中使用 agSetColumnFilter,我使用的是 serverSide 行模型。如果我使用 infinite 行模型,它可以正常工作。我将值数组传递给过滤器。
问题是 我无法更改过滤器元素中复选框的状态。
如果我点击一个复选框,过滤器正在应用该选项,但看起来复选框的状态立即变为相反,并且过滤器的状态不保存。我只能选择一个类别进行过滤。
<app-ag-grid
[columnDefs]="columnDefs"
[pagination]="pagination"
[paginationPageSize]="paginationPageSize"
[rowModelType]="rowModelType"
[defaultColDef]="defaultColDef"
[frameworkComponents]="frameworkComponents"
[context]="context"
[floatingFilter]="floatingFilter"
[paginationAutoPageSize]="paginationAutoPageSize"
(gridReady)="onGridReady($event)">
</app-ag-grid>
@Component({
selector: 'app-server-side',
templateUrl: './server-side.component.html',
styleUrls: ['./server-side.component.scss']
})
export class ServerSideComponent implements OnInit {
paginationAutoPageSize = false;
gridApi: GridApi;
gridoptions;
rowData;
pagination = true;
paginationPageSize = 100;
rowModelType = 'serverSide';
floatingFilter = false;
defaultColDef = {
sortable: false,
editable: true,
resizable: true,
filter: true
};
enableServerSideSorting = true;
enableServerSideFilter = true;
columnDefs = [
{
field: 'isActive',
headerName: 'Active',
cellRenderer: 'checkboxRenderer',
filter: 'agSetColumnFilter',
width: 100,
filterParams: {
values: [true, false]
}
},
{
field: 'balance',
headerName: 'Balance',
filter: 'agNumberColumnFilter',
width: 100,
type: 'numericColumn',
filterParams: {
filterOptions: ['equals', 'lessThan', 'greaterThan'],
suppressAndOrCondition: true
},
},
{
field: 'tags',
headerName: 'Tags',
filter: 'agSetColumnFilter',
filterParams: {
suppressRemoveEntries: true,
values: (params) => {
setTimeout(() => {
params.success([
'id',
'irure',
'cillum',
'nostrud',
'pariatur',
'laborum'
]);
}, 500);
}
}
}
];
context = { componentParent: this };
frameworkComponents = {
listRenderer: ListRendererComponent,
checkboxRenderer: CheckboxRendererComponent,
multiselectEditor: MultiselectEditorComponent,
dateEditor: DateEditorComponent,
richTextEditor: RichTextEditorComponent,
agDateInput: DateFilterComponent
};
【问题讨论】:
-
请分享代码sn-p方便调试
-
我建议您在问题中包含一些您尝试过的代码。它将增加获得答案的变化,并减少您的问题被标记和删除的机会。
标签: javascript ag-grid ag-grid-angular