Table operation delete function in vue3

Solution 1: Use slot #default="{ row }"

<el-table-column label="操作" width="150">
        <template #default="{ row }">
          <el-button type="primary" link @click="openDialog(row)">编辑</el-button>
          <el-button type="danger" link @click="onDelete(row.id)">删除</el-button>
        </template>
 </el-table-column>

Equivalent to:

<template #default="scoped">
          <el-button type="primary" link>编辑</el-button>
          <el-button type="danger" @click="handleDelete(scoped.row.id)" link>删除</el-button>
  </template>


// TODO: delete function

const onDelete = async (id) => {
  await axios.delete(`/del/${id}`)
  getList()
}


Option II:

  <template #default="scoped">
          <el-button type="primary" link>编辑</el-button>
          <el-button type="danger" @click="handleDelete(scoped.$index, scoped.row)" link>删除</el-button>
 </template> 

 const handleDelete = async (index, row) => {
   await axios.delete(`/del/${row.id}`);
   getList();
 };

Guess you like

Origin blog.csdn.net/kk7564335/article/details/130125260