【发布时间】:2020-11-27 05:31:42
【问题描述】:
我一直在Vuetify.js框架中使用v-data-table,我需要在v-data-table中添加一些按钮和textfield。
v-data-table 真的很有用,但是我添加其他组件真的很难。
这是我的第一个实验,但没有成功。
我想在每一行中添加v-btn。
但是“发生错误”。错误信息在我的代码下。
有人给我建议吗?
<template>
<div>
<v-data-table
dense
:headers="header"
:items="items"
class="elevation-1"
>
<template v-slot:body="{ items}">
<tbody>
<tr v-for="item in items" :key="item.email">
<td>{{item.name}}</td>
<td>{{item.email}}</td>
<td><v-btn @click="deleteRow(item)">delete</v-btn></td>
</tr>
</tbody>
</template>
</v-data-table>
</div>
</template>
<script lang="ts">
import {Component, Vue} from 'nuxt-property-decorator'
import axios from 'axios'
@Component({})
export default class extends Vue{
header = [
{text:'name',value:'name'},
{text:'email',value:'email'},
{text:'Actions',value:'actions',sortable:false}
]
items:any=[]
deleteRow(index:any){
let item=this.items.findIndex((it:any)=>it.email===item.email)
this.items.splice(index,1);
}
async mounted(){
const response = await axios.get('https://jsonplaceholder.typicode.com/users');
this.items = response.data.map((item:any)=>({
name:item.name,
email:item.email
}));
}
}
</script>
[错误信息]
TypeError:无法读取未定义的属性“电子邮件” 在 eval (axiostest4.vue?eedd:35) ....
【问题讨论】:
标签: typescript vue.js vuejs2 vue-component vuetify.js