element官网并没有给我们自定义table行展开的自定义方式与自定义展开按钮,所以只能自己通过一些其他方法达到这个需求
直接上代码
<el-table ref="tableRef" :data="tableData" style="width: 100%; overflow: hidden">
<el-table-column label="类型">
<template #default="{ row }">
<span>{{ DNSSwitch(row.record.type) }}</span>
</template>
</el-table-column>
<el-table-column label="名称" prop="record.name" />
<el-table-column label="操作" align="right" width="100">
<template #default="{ row, $index }">
<span
class="text-[#3370FF] relative inline-block"
@click="toogleExpand(row, $index)"
>
编辑
</span>
</template>
</el-table-column>
<el-table-column type="expand" width="0">
<!-- 展开行内容 -->
<template #default="{ row }">
<NewEditor :record="row" @submit="getTableList" />
</template>
</el-table-column>
</el-table>
import { ref } from 'vue'
const tableRef = ref()
/**模拟表格展开行 */
const toogleExpand = (row: DnsList) => {
const $table = tableRef.value
tableData.value.map((item) => {
if (row.ID != item.ID) {
$table.toggleRowExpansion(item, false)
}
})
$table.toggleRowExpansion(row)
}
<style lang="scss">
.el-table__expand-icon {
display: none;
}
</style>