12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <template>
- <el-table
- ref="singleTableRef"
- :data="tableData"
- highlight-current-row
- style="width: 100%"
- @current-change="handleCurrentChange"
- >
- <el-table-column type="index" width="50" />
- <el-table-column property="date" label="Date" width="120" />
- <el-table-column property="name" label="Name" width="120" />
- <el-table-column property="address" label="Address" />
- </el-table>
- <div style="margin-top: 20px">
- <el-button @click="setCurrent(tableData[1])">Select second row</el-button>
- <el-button @click="setCurrent()">Clear selection</el-button>
- </div>
- </template>
- <script lang="ts" setup>
- import { ref } from 'vue'
- import { ElTable } from 'element-plus'
- interface User {
- date: string
- name: string
- address: string
- }
- const currentRow = ref()
- const singleTableRef = ref<InstanceType<typeof ElTable>>()
- const setCurrent = (row?: User) => {
- singleTableRef.value!.setCurrentRow(row)
- }
- const handleCurrentChange = (val: User | undefined) => {
- currentRow.value = val
- }
- 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>
|