【发布时间】:2019-04-03 02:12:00
【问题描述】:
我尝试使用选择框过滤 ag-grid。网格定义为:
<ag-grid-vue id="myGrid" style="width: 1140px; height:500px"
class="ag-theme-balham"
:columnDefs="columnDefs"
:rowData="rowData"
:enableSorting="true"
:enableFilter="true"
:pagination="true"
:paginationPageSize="10"
:setQuickFilter="quickFilterText"
</ag-grid-vue>
数据部分是:
data() {
return {
columnDefs: null,
rowData: null,
quickFilterText: ''
}
我尝试在 Vue 中捕获选择框的值:
观看:{
filter: {
handler: function (filter) {
{
this.$nextTick(() => {
let companyNames = this.$refs.company.getSelectedValue();
this.quickFilterText = companyNames;
gridOptions.api.setQuickFilter(this.quickFilterText);
document.addEventListener('DOMContentLoaded', function() {
let gridDiv = document.querySelector('#myGrid');
new agGrid.Grid(gridDiv, gridOptions);
});
});
}
},
deep: true
}
},
在选择框中选择后,我看到了错误:
“TypeError: 无法读取未定义的属性 'setQuickFilter'”
任何人都可以帮助我吗?谢谢
【问题讨论】:
-
您能分享您的数据属性吗?这是哪里来的
gridOptions? -
这是我的数据部分:data() { return { columnDefs: null, rowData: null, quickFilterText: '', }
-
你在哪里声明和初始化gridOptions?问题在于它的初始化,因为它的属性
api是未定义的 -
哦,你的意思是我需要单独声明,因为我教的时候我们在
中定义就足够了