vuetable - 无可用数据
vuetable - no data available
我正在使用 vue.js
,并且正在完成 vuetable
教程,但我的 vuetable 始终显示 no data available
。
这是我的代码:
MyVueTable 组件:
<template>
<vuetable ref="vuetable"
api-url="http://dummy.restapiexample.com/api/v1/employees"
:fields="['id', 'name', 'salary', 'age', 'profile image']"
pagination-path=""
></vuetable>
</template>
<script>
import Vuetable from 'vuetable-2/src/components/Vuetable'
export default {
components: {
Vuetable
}
}
</script>
App.vue
<template>
<div id="app">
<img src="./assets/logo.png">
<div class="ui container">
<my-vuetable></my-vuetable>
</div>
</div>
</template>
<script>
import MyVuetable from './components/MyVuetable'
export default {
name: 'app',
components: {
MyVuetable
}
}
</script>
<style>
#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>
我不明白vuetable是如何获取数据并将其映射到指定字段的。控制台没有错误。
感谢任何帮助,因为我有点困惑。
api 的响应看起来像一个项目数组:
{"id":"71840","employee_name":"mpr51_0994","employee_name":"123","employee_name":"2333","profile_image":""}
所以字段应该是:
:fields="['id', 'employee_name', 'employee_name', 'employee_name', 'profile_image']"
更深入地查看后,您的 api 端点似乎无法满足 vuetable 需求。这里有很好的描述:https://www.vuetable.com/api/vuetable/properties.html#api-url
如果您查看网络 devtools 选项卡,vuetable 请求带有一些参数的 api:https://dummy.restapiexample.com/api/v1/employees?sort=&page=1&per_page=10
,但是此 api 不会对响应进行分页。
根据ManUtopiK的评论,我修改了代码如下:
<template>
<vuetable ref="vuetable"
:api-mode="false"
:data="apiData"
:fields="['id', 'employee_name', 'employee_name', 'employee_name', 'profile_image']"
pagination-path=""
></vuetable>
</template>
<script>
import Vuetable from 'vuetable-2/src/components/Vuetable'
import $http from 'axios'
export default {
components: {
Vuetable
},
props: {
apiData: {
type: Object
}
},
created() {
let uri = `http://dummy.restapiexample.com/api/v1/employees`
$http.get(uri).then(x => {
this.apiData = x.data
})
}
}
</script>
我正在使用 vue.js
,并且正在完成 vuetable
教程,但我的 vuetable 始终显示 no data available
。
这是我的代码:
MyVueTable 组件:
<template>
<vuetable ref="vuetable"
api-url="http://dummy.restapiexample.com/api/v1/employees"
:fields="['id', 'name', 'salary', 'age', 'profile image']"
pagination-path=""
></vuetable>
</template>
<script>
import Vuetable from 'vuetable-2/src/components/Vuetable'
export default {
components: {
Vuetable
}
}
</script>
App.vue
<template>
<div id="app">
<img src="./assets/logo.png">
<div class="ui container">
<my-vuetable></my-vuetable>
</div>
</div>
</template>
<script>
import MyVuetable from './components/MyVuetable'
export default {
name: 'app',
components: {
MyVuetable
}
}
</script>
<style>
#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>
我不明白vuetable是如何获取数据并将其映射到指定字段的。控制台没有错误。
感谢任何帮助,因为我有点困惑。
api 的响应看起来像一个项目数组:
{"id":"71840","employee_name":"mpr51_0994","employee_name":"123","employee_name":"2333","profile_image":""}
所以字段应该是:
:fields="['id', 'employee_name', 'employee_name', 'employee_name', 'profile_image']"
更深入地查看后,您的 api 端点似乎无法满足 vuetable 需求。这里有很好的描述:https://www.vuetable.com/api/vuetable/properties.html#api-url
如果您查看网络 devtools 选项卡,vuetable 请求带有一些参数的 api:https://dummy.restapiexample.com/api/v1/employees?sort=&page=1&per_page=10
,但是此 api 不会对响应进行分页。
根据ManUtopiK的评论,我修改了代码如下:
<template>
<vuetable ref="vuetable"
:api-mode="false"
:data="apiData"
:fields="['id', 'employee_name', 'employee_name', 'employee_name', 'profile_image']"
pagination-path=""
></vuetable>
</template>
<script>
import Vuetable from 'vuetable-2/src/components/Vuetable'
import $http from 'axios'
export default {
components: {
Vuetable
},
props: {
apiData: {
type: Object
}
},
created() {
let uri = `http://dummy.restapiexample.com/api/v1/employees`
$http.get(uri).then(x => {
this.apiData = x.data
})
}
}
</script>