elementui

观察上面展示所有学生信息时,使用了自己的table标签。。但是界面太丑。 这里提供了elementui布局界面框架。 让你的网页更加好看。非常适合前端功底比较差的人。
1 安装

<%--
  Created by IntelliJ IDEA.
  User: ldh
  Date: 2024/10/16
  Time: 10:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <%--vue--%>
    <script src="/js/vue.js"></script>
    <%--axios--%>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <%--elementui--%>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <!-- 引入组件库 必须在引入vue文件后 -->
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
    <%--
        el-table:表示elementui的表格组件
           :data  绑定了vue的数据
           border: 边框
           style:  100%
    --%>
    <el-table
            :data="students"
            border
            style="width: 100%">
        <%--
           el-table-column: 表格列的标签
               prop: 绑定的数据的属性
               label: 列标题
               width: 列的宽度
        --%>
        <el-table-column
                prop="id"
                label="编号"
        >
        </el-table-column>
        <el-table-column
                prop="name"
                label="姓名"
                width="180">
        </el-table-column>
        <el-table-column
                prop="age"
                label="年龄">
        </el-table-column>
        <el-table-column
                prop="gender"
                label="性别">
        </el-table-column>
        <el-table-column
                prop="birthday"
                label="初始日期">
        </el-table-column>
        <el-table-column
                prop="classInfo.name"
                label="班级">
        </el-table-column>
    </el-table>
</div>
</body>
<script>
    let app = new Vue({
        el: "#app",
        data: {
            students: undefined,
        },
        created() {
            this.loadStudent();
        },
        methods: {
            loadStudent() {
                axios.get("/student/list").then(resp => {
                    if (resp.data.code === 200) {
                        this.students = resp.data.data;
                    }
                })
            }
        }
    })
</script>
</html>

2 删除操作

<%--
  Created by IntelliJ IDEA.
  User: ldh
  Date: 2024/10/16
  Time: 10:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <%--vue--%>
    <script src="/js/vue.js"></script>
    <%--axios--%>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <%--elementui--%>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <!-- 引入组件库 必须在引入vue文件后 -->
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
    <%--
        el-table:表示elementui的表格组件
           :data  绑定了vue的数据
           border: 边框
           style:  100%
    --%>
    <el-table
            :data="students"
            border
            style="width: 100%">
        <%--
           el-table-column: 表格列的标签
               prop: 绑定的数据的属性
               label: 列标题
               width: 列的宽度
        --%>
        <el-table-column
                prop="id"
                label="编号"
        >
        </el-table-column>
        <el-table-column
                prop="headimg"
                label="头像"
        >
            <template slot-scope="scope">
                <img :src="scope.row.headimg" width="80"/>
            </template>
        </el-table-column>
        <el-table-column
                prop="name"
                label="姓名"
                width="180">
        </el-table-column>
        <el-table-column
                prop="age"
                label="年龄">
        </el-table-column>
        <el-table-column
                prop="gender"
                label="性别">
        </el-table-column>
        <el-table-column
                prop="birthday"
                label="初始日期">
        </el-table-column>
        <el-table-column
                prop="classInfo.name"
                label="班级">
        </el-table-column>
        <%--fixed:固定右边--%>
        <el-table-column
                label="操作"
                width="220"
        >
            <template slot-scope="scope">

                <el-button size="medium" type="success">编辑<i class="el-icon-setting el-icon--right"></i></el-button>
                <el-button size="medium" type="danger" icon="el-icon-delete" @click="del(scope.row.id)">删除</el-button>
            </template>
        </el-table-column>
    </el-table>
</div>
</body>
<script>
    let app = new Vue({
        el: "#app",
        data: {
            students: undefined,
        },
        created() {
            this.loadStudent();
        },
        methods: {
            loadStudent() {
                axios.get("/student/list").then(resp => {
                    if (resp.data.code === 200) {
                        this.students = resp.data.data;
                    }
                })
            },
            // 删除
            del(id) {
                this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => { //确认时执行代码块
                    axios.delete("/student/delete?id=" + id).then(resp => {
                        if (resp.data.code === 200) {
                            this.$notify({
                                title: '成功',
                                message: resp.data.msg,
                                type: 'success'
                            });
                            this.loadStudent();
                        } else {
                            this.$notify({
                                title: '错误',
                                message: resp.data.msg,
                                type: 'error'
                            });
                        }
                    })
                }).catch(() => {//取消时执行代码块

                });


            }
        }
    })
</script>
</html>

posted on   小木不痞  阅读(36)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示