gpt4 book ai didi

vue.js - VueJS MDB-datatable 不呈现来自 API 调用的数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:49:40 24 4
gpt4 key购买 nike

我正在使用 vueJs MDB-datatable 来显示来 self 的 API 的数据。我按照 MDB 数据文档处理“OtherJSON 结构”,但它没有重新呈现来自 API 请求的数据。

我尝试了 beforeCreate、created、beforeMount 和 mount 的不同回调,数据已更改,但仍然没有呈现最新数据。

代码如下:

<template>
<mdb-datatable
:data="tableData"
striped
bordered
/>
</template>

<script>
import 'mdbvue/build/css/mdb.css';
import { mdbDatatable } from 'mdbvue';

export default {
components: {
mdbDatatable
},
data: () => ({
tableData: {
columns: [],
rows: []
}
}),
created() {
fetch('https://jsonplaceholder.typicode.com/users')
.then(res => res.json())
.then(json => {
let keys = ["id", "name", "username"];
let entries = this.filterData(json, keys);

//columns
this.tableData.columns = keys.map(key => {
return {
label: key.toUpperCase(),
field: key,
sort: 'asc'
};
});

console.log(this.tableData.columns);
//rows
entries.map(entry => this.tableData.rows.push(entry));
console.log(this.tableData.rows);
})
.catch(err => console.log(err))
},
methods: {
filterData(dataArr, keys) {
let data = dataArr.map(entry => {
let filteredEntry = {};
keys.forEach(key => {
if(key in entry) {
filteredEntry[key] = entry[key];
}
})
return filteredEntry;
})
return data;
}
}
</script>

MDB 数据表文档似乎很简单,但我不知道我遗漏了哪一部分。

我是 VueJS 的新手。非常感谢任何帮助。

最佳答案

似乎当前版本的 MDB Vue (5.5.0) 引用了 rowscolumns 数组,并在这些数组发生变化时使用react,而不是对它们使用react更改绑定(bind)到 data Prop 本身的属性。

我看到您已经在改变而不是替换 rows 数组,因此您需要对 columns 数组执行相同的操作。

    //columns
this.tableData.columns.push(...keys.map(key => {
return {
label: key.toUpperCase(),
field: key,
sort: 'asc'
};
}));

关于vue.js - VueJS MDB-datatable 不呈现来自 API 调用的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56347359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com