基于element增删改查入门案例

本文介绍如何使用 Element UI 框架实现业主信息的增删改查功能,包括数据展示、编辑、删除及新增操作。文章详细展示了 HTML 结构、Vue 实例配置、数据请求与响应等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.element 组件安装
引入式

<!-- 引入样式 -->
 <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme- chalk/index.css">
 <!-- 引入组件库 --> 
 <script src="https://unpkg.com/element-ui/lib/index.js"></script>

2.案例
1.查询所有业主

界面

<div id="app">
    <template>
        <el-table
                :data="tableData"
                style="width: 100%">
            <el-table-column
                    prop="roomName"
                    label="房间编号"
                    width="180">
            </el-table-column>
            <el-table-column
                    prop="owner_name"
                    label="业主名字"
                    width="180">
            </el-table-column>
            <el-table-column
                    prop="owner_phone"
                    label="电话">
            </el-table-column>
            <el-table-column
                    prop="owner_ids"
                    label="电话">
            </el-table-column>
            <el-table-column
                    prop="owner_phone"
                    label="身份证号码">
            </el-table-column>
            <el-table-column
                    prop="owner_car"
                    label="车位信息">
            </el-table-column>
            <el-table-column
                    prop="ownere_mail"
                    label="业主邮箱">
            </el-table-column>
        </el-table>
    </template>

</div>

数据刷新

<script>
    var vm =new Vue({
        el:"#app",
        data:{
            tableData:[

            ]
        },
        mounted:function () {
            axios
                .get('/selectOwnerRoom')
                .then(response=>{
                    //初始化数据 
                    // 通过 箭头函数 调用的方法 this 指向 vue 实例,
                    // 如果function this 指向 的是axios 本身
                    this.tableData=response.data
                }).catch(function (error) {
                console.log(error)
            })

        }
    })
</script>

2.更新业主
添加操作按钮

 <el-table-column label="操作">
                <template slot-scope="scope">
                    <el-button
                            size="mini"
                            @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
                    <el-button
                            size="mini"
                            type="danger"
                            @click="handleDelete(scope.$index, scope.row)">删除</el-button>
                </template>
            </el-table-column>

修改界面弹框

<!-- //修改界面弹窗-->
        <el-dialog :visible.sync="visible" title="Hello world">
            <!--:model="updateform" 双向绑定updateform数据-->
            <el-form ref="form" :model="updateform" label-width="80px">
                <el-form-item label="房间编号">
                    <el-input v-model="updateform.roomName"></el-input>
                </el-form-item>
                <el-form-item label="业主姓名">
                    <el-input v-model="updateform.owner_name"></el-input>
                </el-form-item>
                <el-form-item label="电话">
                    <el-input v-model="updateform.owner_phone"></el-input>
                </el-form-item>
                <el-form-item label="身份证号码">
                    <el-input v-model="updateform.owner_ids"></el-input>
                </el-form-item>
                <el-form-item label="车位">
                    <el-input v-model="updateform.owner_car"></el-input>
                </el-form-item>
                <el-form-item label="邮箱">
                    <el-input v-model="updateform.ownere_mail"></el-input>
                </el-form-item>

                <el-form-item> 
                    <el-button type="primary" @click="updateOwner">确认</el-button>
                    <el-button>取消</el-button>
                </el-form-item>
            </el-form
        </el-dialog>

弹框默认不显示

  //修改弹窗默认不显示
            visible:false,
            updateform:{
                roomName:'',
                owner_name:'',
                owner_phone:'',
                owner_ids:0,
                owner_car:'',
                ownere_mail:''
            }

显示弹框

   methods:{
            /* table 数据的的下标   row 每一行数据 对应tableData 每一个元素*/
            handleEdit(index,row){
                //初始化弹窗数据
                this.updateform=row;
                //显示窗口
                this.visible=true
            }
        }

提交 修改内容

   updateOwner:function () {
                axios
                    .get('/updateOwner',{
                        params:this.updateform
                    }).then(response=>{
                        if (response.data=='success'){
                            //刷新页面
                            window.location.reload()
                        }else {
                            this.$message.error('修改失败')
                        }
                }).catch(function (error) {
                    console.log(error)
                })
            }

流程
点击编辑按钮,拿到该行数据赋值给updateform, visible变为true,弹窗打开,弹窗界面与 updateform双向绑定,修改弹窗内的数据updateform数据随着改变,然后把updateform内的数据通过 params:this.updateform传到后台完成修改

3.删除业主
用的是MessageBox 弹框模板

 handleDelete(index,row){
                this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    //确定删除提交服务器
                    axios
                        .get('/dateOwner',{
                            params: {
                                id:row.owner_id
                            }
                    }).then(response=>{
                        if (response.data=='success'){
                            //刷新页面
                            window.location.reload()
                        }else {
                            this.$message.error('删除失败')
                        }
                    }).catch(function (error) {
                        console.log(error)
                    })
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消删除'
                    });
                });
            }

handleDelete方法和操作按钮对应
4.增加业主
界面弹窗

 <!--新增业主弹窗-->
        <el-dialog :visible.sync="addvisible" title="新增业主">
            <!-- //:model="form"双向绑定from表单数据-->
            <el-form ref="addform" :model="addform" label-width="80px">

                <el-form-item label="房间编号">

                    <el-select v-model="addform.Room_id" placeholder="请选择">
                        <el-option
                                v-for="item in options"
                                :key="item.roomId"
                                :label="item.roomName"
                                :value="item.roomId">
                        </el-option>
                    </el-select>

                </el-form-item>
                <el-form-item label="业主姓名">
                    <el-input v-model="addform.owner_name"></el-input>
                </el-form-item>
                <el-form-item label="电话">
                    <el-input v-model="addform.owner_phone"></el-input>
                </el-form-item>
                <el-form-item label="身份证号码">
                    <el-input v-model="addform.owner_ids"></el-input>
                </el-form-item>
                <el-form-item label="车位">
                    <el-input v-model="addform.owner_car"></el-input>
                </el-form-item>
                <el-form-item label="邮箱">
                    <el-input v-model="addform.ownere_mail"></el-input>
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="addOwner">增加业主</el-button>
                    <el-button>取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>

弹框默认不显示

 addform:{
                roomName:'',
                owner_name:'',
                owner_phone:'',
                owner_ids:0,
                owner_car:'',
                ownere_mail:'',
                Room_id:'',
            },
            options:[]

提交数据

   addOwner:function () {
                axios
                    .get('/addOwner',{
                        params:this.addform
                    }).then(response=>{
                    console.log("data:"+response.data);
                    if (response.data == 'success') {
                        //刷新
                        window.location.reload();
                    }else{
                        this.$message.error('新增失败');
                    }
                    this.addvisible = false;
                }).catch(function (error) {
                    console.log(error)
                })
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值