1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <template>
- <el-table :data="tableData" style="width: 100%">
- <el-table-column label="Date" width="180">
- <template #default="scope">
- <div style="display: flex; align-items: center">
- <el-icon><timer /></el-icon>
- <span style="margin-left: 10px">{{ scope.row.date }}</span>
- </div>
- </template>
- </el-table-column>
- <el-table-column label="Name" width="180">
- <template #default="scope">
- <el-popover effect="light" trigger="hover" placement="top" width="auto">
- <template #default>
- <div>name: {{ scope.row.name }}</div>
- <div>address: {{ scope.row.address }}</div>
- </template>
- <template #reference>
- <el-tag>{{ scope.row.name }}</el-tag>
- </template>
- </el-popover>
- </template>
- </el-table-column>
- <el-table-column label="Operations">
- <template #default="scope">
- <el-button size="small" @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
- <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
- </template>
- </el-table-column>
- </el-table>
- </template>
- <script lang="ts" setup>
- import { Timer } from '@element-plus/icons-vue'
- interface User {
- date: string
- name: string
- address: string
- }
- const handleEdit = (index: number, row: User) => {
- console.log(index, row)
- }
- const handleDelete = (index: number, row: User) => {
- console.log(index, row)
- }
- const tableData: User[] = [
- {
- date: '2016-05-03',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-02',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-04',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-01',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- ]
- </script>
|