<vue-good-table
title="Product List"
:columns="columns"
:rows="rows"
:paginate="true"
:lineNumbers="true" />
export default {
data(){
return {
columns: [
{
label: 'productname',
field: 'product_name',
filterable: true,
},
{
label: 'productdesc',
field: 'product_desc',
// type: 'number',
html: false,
filterable: true,
},
],
rows:[],//get axios return value
};
},
methods:{
next() {
var _this=this
this.$http.get('http://localhost:3000/api/companyproducts')
.then(function (response) {
_this.rows=response.data
})
.catch(function (error) {
});
}
}
}
现在我的问题是我如何用好的表格
追加这个axios响应值答案 0 :(得分:2)
To&#34; 追加axios数据&#34;你必须先在你的项目中安装axios。
首先将axios安装到您的项目中:
this.dateTo
然后将您的下一个方法转换为以下方法:
npm install --save axios
请注意,您还必须导入axios.So脚本标记开始使用时:
next() {
axios.get('http://localhost:3000/api/companyproducts')
.then(response => {
this.rows = response.data
})
.catch(error => console.log(error))
}
Axios是一个很棒的套餐,您可以了解更多here
正如我在您的代码中看到的那样,您不是在使用axios而是使用vue-resource.Vue-resource也是一个很好的软件包,因此您可以了解更多here
答案 1 :(得分:1)
我猜测你的代码,http.get完成后视图没有响应。
您可以通过将rows
配置为计算属性来执行此操作,因为这会监视其依赖项(即row_data)的更改
computed: {
rows: function () {
return this.row_data;
}
}
...
data(){
return {
columns: [
...
],
row_data:[]
};
}
...
methods: {
next() {
var _this=this
this.$http.get('http://localhost:3000/api/companyproducts')
.then(function (response) {
_this.row_data = response.data
})
}
}
...
created: function() {
this.next()
}