Я делаю простое «Начало работы с ag-Grid в вашем проекте Vue» на веб-сайте ag-grid и столкнулся с проблемой. На определенном этапе учебного курса он пытается использовать свойство gridReady в ag-grid-vue для выполнения функции onGridReady. Но это, кажется, никогда не срабатывает.
Я следовал инструкциям в точности так, как указано здесь: https://www.ag -grid.com / vue-Getting-Start /? Utm_source = ag-grid-readme & utm_medium = хранилище & utm_campaign = github
App.vue:
<template>
<div>
<button @click="getSelectedRows()">Get Selected Rows</button>
<ag-grid-vue style="width: 500px; height: 500px;"
class="ag-theme-balham"
:columnDefs="columnDefs"
:rowData="rowData"
rowSelection="multiple"
:gridReady="onGridReady">
</ag-grid-vue>
</div>
</template>
<script>
import {AgGridVue} from "ag-grid-vue";
export default {
name: 'App',
data() {
return {
columnDefs: null,
rowData: null
}
},
components: {
AgGridVue
},
watch: {
onGridReady: {
handler: function (params) {
alert('eeeee')
},
deep: true
}
},
methods: {
onGridReady(params) {
this.gridApi = params.api;
this.columnApi = params.columnApi;
alert('TEST')
},
getSelectedRows() {
const selectedNodes = this.gridApi.getSelectedNodes();
const selectedData = selectedNodes.map( node => node.data );
const selectedDataStringPresentation = selectedData.map( node => node.make + ' ' + node.model).join(', ');
alert(`Selected nodes: ${selectedDataStringPresentation}`);
}
},
beforeMount() {
this.columnDefs = [
{headerName: 'Make', field: 'make', checkboxSelection: true},
{headerName: 'Model', field: 'model'},
{headerName: 'Price', field: 'price'}
];
fetch('https://api.myjson.com/bins/15psn9')
.then(result => result.json())
.then(rowData => this.rowData = rowData);
}
}
</script>
<style lang="scss">
@import "~ag-grid-community/dist/styles/ag-grid.css";
@import "~ag-grid-community/dist/styles/ag-theme-balham.css";
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
Я ожидаю, что смогу нажать кнопку и увидеть выбранные узлы и предупредить их.
Что получить, это сообщение об ошибке:
Uncaught TypeError: Невозможно прочитать свойство 'getSelectedNodes' из неопределенного
at VueComponent.getSelectedRows (VM2832 App.vue: 54)