修改功能
1、封装接口
// 更新用户信息
export const usersPut = (id,data={})=> httpServe({path:'users/'+id,method:'put',data})
2、添加编辑按钮与对话框组件
<el-button @click="update(scope.row)" type="text" size="small" style="margin-right:10px;">编辑</el-button>
<!-- 对话框 -->
<el-dialog title="修改用户信息" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="电子邮箱" label-width="100px">
<el-input v-model="form.email" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="手机号" label-width="100px">
<el-input v-model="form.mobile" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button type="primary" @click="submit">确定</el-button>
</div>
</el-dialog>
3、定义事件
data() {
return {
dialogFormVisible:false,
form:{
email:'',
mobile:''
}
};
},
created() {
// 获取数据渲染表格
this.getTableData();
},
methods: {
// 点击编辑按钮,打开对话框,进行修改用户信息操作
update(row){
this.dialogFormVisible = true;
// 通过深拷贝将每行的数据给到this.form
// this.form = row 如果直接赋值会出现即使在input框修改信息但并未提交页面也会暂时修改的情况
this.form = JSON.parse(JSON.stringify(row))
},
// 修改用户信息
async submit(){
try {
let res = await usersPut(this.form.id,{
id:this.form.id,
email:this.form.email,
mobile:this.form.mobile
})
let {meta:{status,msg}} = res.data;
if(status==200){
this.$message.success(msg);
this.dialogFormVisible = false;
this.getTableData()
}else{
this.$message.error(msg)
}
} catch (error) {
this.$message.error(error);
console.log(error);
}
},
}
删除功能
1、封装接口
// 删除用户
export const usersDelete = (id)=> httpServe({path:'users/'+id,method:'delete'})
2、添加气泡弹出框与删除按钮
<!-- 气泡弹出框 -->
<el-popconfirm
confirm-button-text='好的'
cancel-button-text='不用了'
icon="el-icon-info"
icon-color="red"
title="确定删除该用户吗?"
@confirm="delUsers(scope.row.id)"
>
<el-button type="text" size="small" slot="reference">删除</el-button>
</el-popconfirm>
3、定义事件
// 删除单个用户
async delUsers(id){
// console.log(id);
try {
let res = await usersDelete(id);
let {meta:{msg,status}} = res.data;
if(status==200){
this.$message.success(msg);
this.getTableData()
}else{
this.$message.error(msg)
}
} catch (error) {
this.$message.error(error)
}
},