用 Vue 实现学生信息管理系统的增删改查操作,模拟数据库操作(但并没有连接数据库)

Posted 狮子座的男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 Vue 实现学生信息管理系统的增删改查操作,模拟数据库操作(但并没有连接数据库)相关的知识,希望对你有一定的参考价值。

Ⅰ、项目准备与解题思路:

1、项目准备:
其一、要有写 html + CSS + JS 的软件; (如:VSCode 工具);
其二、要提前下载好 Vue 环境,因为在项目中会引用 'vue.js' ;

2、解题思路:
其一、展示一个界面来把学生的信息展示出来(比如说:学生的基本信息等);
其二、做学生数据信息的增删改查的操作;

Ⅱ、项目总代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .stuTab,
        .addStu 
            margin: auto;
            width: 735px;
            border-collapse: collapse;
        

        .addStu 
            background-color: orange;
        

        .stuTab th,
        .stuTab td 
            border: 1px solid orange;
            padding: 10px;
            height: 35px;
            line-height: 35px;
            text-align: center;
        

        .stuTab th 
            background-color: orange;
        
    </style>
</head>
<body>
    
    <div id="app">
        <div class="addStu">
            <label>编号:<input type="text" v-model="id" :disabled="flag"></label>

            <label>姓名:<input type="text" v-model="name"></label>
            <label>性别:<input type="text" v-model="sex"></label>
            <button @click="handleAddStudent">提交</button>
        </div>
        <table class="stuTab">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>操作</th>
            </tr>
            <tr :key='stu.id' v-for="stu in students">
                <td>stu.id</td>
                <td>stu.name</td>
                <td>stu.sex</td>
                <td>
                    <a href="" @click.prevent='toEdit(stu.id)'>修改</a>
                    <span>|</span>
                    <a href="" @click.prevent='removeStudent(stu.id)'>删除</a>
                </td>
            </tr>
        </table>
    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>

    <script>
        let vm = new Vue(
            el: '#app',
            data() 
                return 
                    flag: false,
                    students: [
                        id: 1,
                        name: 'zhangsan',
                        sex: '男'
                    , 
                        id: 2,
                        name: 'lily',
                        sex: '女'
                    , 
                        id: 3,
                        name: 'Tom',
                        sex: '男'
                    , 
                        id: 4,
                        name: 'lucy',
                        sex: '女'
                    ],
                    id: '',
                    name: '',
                    sex: ''
                
            ,
            methods: 
                handleAddStudent() 
                    if (this.flag) 
                        this.students.some(item => 
                            if(item.id === this.id) 
                                item.name = this.name;
                                item.sex = this.sex;
                                return true;
                            
                        );
                        this.flag = false;
                     else 
                        let stu = 
                            id: this.id,
                            name: this.name,
                            sex: this.sex
                        ;
                        this.students.push(stu);
                    

                    this.id = '';
                    this.name = '';
                    this.sex = '';
                ,
                toEdit(id) 
                    this.flag = true;
                    let student = this.students.filter(stu => 
                        return stu.id == id;
                    );
                    this.id = student[0].id;
                    this.name = student[0].name;
                    this.sex = student[0].sex;
                ,
                removeStudent(id) 
                    this.students = this.students.filter(stu => stu.id != id);
                
            
        );
    </script>
</body>
</html>

Ⅲ、实现代码过程与页面显示:

1、实现学生基本信息的展示页面:
A、代码为: (此时主要是:HTML + CSS)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .stuTab,
        .addStu 
            margin: auto;
            width: 735px;
            border-collapse: collapse;
        

        .addStu 
            background-color: orange;
        

        .stuTab th,
        .stuTab td 
            border: 1px solid orange;
            padding: 10px;
            height: 35px;
            line-height: 35px;
            text-align: center;
        

        .stuTab th 
            background-color: orange;
        
    </style>
</head>
<body>
    
    <div id="app">
        <div class="addStu">
            <label>编号:<input type="text" v-model="id" :disabled="flag"></label>
            //<!-- 在 flag 为 true 的时候,id 的值是不可编辑的; (即:此时的修改是不能改动 id 的值的) -->

            <label>姓名:<input type="text" v-model="name"></label>
            <label>性别:<input type="text" v-model="sex"></label>
            <button @click="handleAddStudent">提交</button>
            // 此操作是:待后面增加响应的 handleAddStudent() 触发函数;
        </div>
        <table class="stuTab">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>操作</th>
            </tr>
            <tr :key='stu.id' v-for="stu in students">
            // 该操作是:循环并显示在 data 中的 students 数据信息;
                <td>stu.id</td>
                <td>stu.name</td>
                <td>stu.sex</td>
                <td>
                    <a href="" @click.prevent='toEdit(stu.id)'>修改</a>
                    // 此操作是:待后面增加响应的 toEdit() 触发函数;
                    // 而此时的 'prevent' 是为了阻止超链接的默认自动跳转行为;
                    <span>|</span>
                    <a href="" @click.prevent='removeStudent(stu.id)'>删除</a>
                    // 此操作是:待后面增加响应的 removeStudent() 触发函数;
                </td>
            </tr>
        </table>
    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>

    <script>
        let vm = new Vue(
            el: '#app',
            data() 
                return 
                    flag: false,  // 该 flag 值可以用于此后是修改数据信息还是添加数据信息的判断;
                    students: [
                        id: 1,
                        name: 'zhangsan',
                        sex: '男'
                    , 
                        id: 2,
                        name: 'lily',
                        sex: '女'
                    , 
                        id: 3,
                        name: 'Tom',
                        sex: '男'
                    , 
                        id: 4,
                        name: 'lucy',
                        sex: '女'
                    ],
                    id: '',
                    name: '',
                    sex: ''
                
            
        );
    </script>
</body>
</html>

B、页面显示为:
// 但此时的 提交、修改和删除按钮是没有响应功能的,而只是页面展示;

2、实现学生基本信息的添加新学生信息的功能:
A、代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .stuTab,
        .addStu 
            margin: auto;
            width: 735px;
            border-collapse: collapse;
        

        .addStu 
            background-color: orange;
        

        .stuTab th,
        .stuTab td 
            border: 1px solid orange;
            padding: 10px;
            height: 35px;
            line-height: 35px;
            text-align: center;
        

        .stuTab th 
            background-color: orange;
        
    </style>
</head>
<body>
    
    <div id="app">
        <div class="addStu">
            <label>编号:<input type="text" v-model="id" :disabled="flag"></label>

            <label>姓名:<input type="text" v-model="name"></label>
            <label>性别:<input type="text" v-model="sex"></label>
            <button @click="handleAddStudent">提交</button>
        </div>
        <table class="stuTab">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>操作</th>
            </tr>
            <tr :key='stu.id' v-for="stu in students">
                <td>stu.id</td>
                <td>stu.name</td>
                <td>stu.sex</td>
                <td>
                    <a href="" @click.prevent='toEdit(stu.id)'>修改</a>
                    <span>|</span>
                    <a href="" @click.prevent='removeStudent(stu.id)'>删除</a>
                </td>
            </tr>
        </table>
    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>

    <script>
        let vm = new Vue(
            el: '#app',
            data() 
                return 
                    flag: false,
                    students: [
                        id: 1,
                        name: 'zhangsan',
                        sex: '男'
                    , 
                        id: 2,
                        name: 'lily',
                        sex: '女'
                    , 
                        id: 3,
                        name: 'Tom',
                        sex: '男'
                    , 
                        id: 4,
                        name: 'lucy',
                        sex: '女'
                    ],
                    id: '',
                    name: '',
                    sex: ''
                
            ,
            methods: 
                handleAddStudent() 
                //处理增加学生的函数(方法);
                    if (this.flag) 
                    // 考虑到:在添加学生信息时,可能会存在的 '编号 id' 发生冲突,因此用 flag 作为标记来进行区分添加新学生信息的操作和修改学生信息的操作;
                    // 此时的 flag 的值为:true,那么就是在进行修改操作:此时不能修改 id 值,只能修改其他信息,并将原有的信息等覆盖(更新); 
                    // 若此时的 flag 的值为:false,那么就是在进行添加操作:此时可以添加新的 id 值和其他的信息;
                        this.students.some(item =>   // 此时是修改学生信息的操作;
                                                      // some 操作是:找到一个符合 'item.id' 的值就结束并返回相关的值;
                            if(item.id === this.id) 
                                item.name = this.name;
                                item.sex = this.sex;
                                return true;
                            
                        );
                        this.flag = false; // 修改学生信息操作结束后,再将 flag 值修改为:false,那么此后再操作时仍旧认为其是添加学生信息的操作;
                                       
                     else     // 此时是添加学生信息的操作;
                        let stu = 
                            id: this.id,
                            name: this.name,
                            sex: this.sex
                        ;
                        this.students.push(stu); // 将新添加的学生信息再放在 students 数组中,表示:已成功添加新学生信息并在重新循环在页面展示;
                    
                    
					// 下面的操作为:清空表单元素(即:便于下次再添加新的学生信息,或再修改学生的相关信息;)
                    this.id = '';
                    this.name = '';
                    this.sex vue实现数据的增删改查

基于Java web 学生管理系统 最简单的就行 要求实现数据库的增删改查 要求个源代码和包

java构建学生管理系统

vb编写学生基本信息实现access数据库的增删改查

数据库表的增删改查学生信息管理

... 使用mybatis框架完成学生信息的增删改查操作的完整代码书写-代码拿走即用-看完秒懂哦