【问题标题】:Cannot read property 'setQuickFilter' of undefined" in ag-grid Vue无法在 ag-grid Vue 中读取未定义的属性“setQuickFilter”
【发布时间】: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 是未定义的
  • 哦,你的意思是我需要单独声明,因为我教的时候我们在 中定义就足够了

标签: vue.js ag-grid


【解决方案1】:

查看this post

您需要使用gridReady 函数将gridApi 绑定到本地属性。

一旦你绑定它,你就可以使用 this.gridApi.setQuickFilter(this.quickFilterText);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2019-07-11
    • 2019-01-30
    • 2021-12-14
    • 1970-01-01
    • 2021-03-29
    相关资源
    最近更新 更多