我有一个从下面的 json 数据存储区填充的 Vuetify 数据表。但我不断收到这个警告:
Error in render: "TypeError: Cannot read property 'usertype' of undefined"
显示和代码按预期工作,但我不喜欢错误警告并想理解它。
x.id 和 typeID 由 json 以字符串形式返回,并使用严格比较
例如
"characters": [
{
"id": "1",
"name": "Gaia",
"email": "me@meemee.com",
"bio": "This really is all about me",
"image": "",
"url": "",
"typeId": "3",
"active": "1"
},
{
"id": "2",
"name": "Alphomega",
"email": "me@meemee.com",
"password": "",
"bio": "Hub really is all about me",
"image": "",
"url": "",
"typeId": "4",
"active": "1"
},
]
"userTypes": [
{
"id": "3",
"usertype": "character"
},
{
"id": "4",
"usertype": "author"
},
]
在我的数据表中,我列出了字符并有一个插槽来显示行中的用户类型文本。因此对于字符“Gaia”,该行将显示行 id、name.email,而不是 typeId,它将显示来自 UserType json 数据的用户类型的值——在本例中为“字符”。
为此,我使用此模板槽:
<template v-slot:item.type="{ item }">
<span v-if="userTypes.length">
{{ userTypes.find(x => x.id === item.typeId).usertype }}
</span>
</template>
这是标题数组
headers: [
{ text: 'ID', value: 'id' },
{ text: 'Name', value: 'name' },
{ text: 'Type', value: 'type' },
{ text: 'Email', value: 'email' },
{ text: 'Active', value: 'active' },
{ text: 'Actions', value: 'actions', sortable: false },
],