我在VueJs 2中使用了datatable(https://github.com/pstephan1187/vue-datatable)组件。 我的组件如下:
<template>
<div>
<div id="desktop">
<div v-if="visibility.personsTable">
<datatable-persons
:columns="persons_table_columns"
:data="rows"
filterable paginate
></datatable-persons>
</div>
</div>
</div>
</template>
<script>
import VueJsDatatable from 'vuejs-datatable';
import Profile from './user/Profile';
import ConnectionService from '../components/services/ConnectionService';
const connectionService = new ConnectionService();
Vue.component('showuser', {
template: `
<button class="btn btn-xs btn-primary" @click="goToUpdatePage">Профиль</button>
`,
props: [row],
methods: {
goToUpdatePage: function(){
}
}
});
export default {
components: {
datatablePersons: VueJsDatatable,
usersTable: VueJsDatatable,
},
data() {
return {
rows: [],
persons_table_columns: [
{label: 'id', field: 'id'},
{label: 'Имя', field: 'firstname'},
{label: 'Фамилия', field: 'lastname'},
{label: 'Отчетство', field: 'middlename'},
{label: 'Профиль', component: 'showuser'}
],
visibility: {
personsTable: false,
}
}
},
methods: {
showPersons() {
this.$http.get(hostname + 'name=person_list&session_id=' +
sessionApiId).then(response => {
this.rows = connectionService.renderMultipleInstances(response.body);
this.visibility.usersTable = false;
this.visibility.personsTable = true;
}, response => {
// error callback
});
},
}
}
</script>
我有以下错误: 未捕获的ReferenceError:未定义行 at Object.defineProperty.value(app.js:5309) 在 webpack_require (app.js:20)
由于“table”组件的文档,它应该注意“row prop”并使用官方示例它可以正常工作。
答案 0 :(得分:1)
在showuser
组件props
的定义中,应该是一个字符串数组:
props: ['row']
这些字符串应与用于将数据传递到组件的属性的名称相匹配。
同样来自sinppet,我猜你希望它'rows'
而不是'row'
。