亲宝软件园·资讯

展开

vue实现在线学生录入系统

nZk丶 人气:1

最近一直在学Vue,这次做了一个简单的在线学生信息录入系统来巩固一下所学知识。

因为主要是巩固Vue的知识,所以数据也没放数据库,也没用JavaBean或者Servlet,直接写死到表单里了。

具体页面是这样的:

先罗列一下其中用到的Vue的知识点:

①v-for指令的使用

②v-model指令的使用

③v-on/@click指令的使用

再提一下可能会用到的知识点:

①JavaScript中对数组头添元素的unshift()方法

②JavaScript中对数组删除元素的splice()删除方法

上一下代码,大家结合上面我罗列的知识点,就能很容易看懂它:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>在线学生信息录入</title>
  <style>
    /*css样式设置 */
    #app {
      margin: 50px auto;
      width: 600px;
    }
 
    fieldset {
      border: 10px solid pink;
      margin-bottom: 30px;
    }
 
    fieldset input {
      width: 200px;
      height: 30px;
      margin: 10px 0px;
    }
 
    table {
      width: 600px;
      border: 2px solid pink;
      text-align: center;
    }
 
    thead {
      background-color: pink;
    }
 
  </style>
</head>
<body>
<div id="app">
  <!--信息输入框-->
  <fieldset>
    <legend>学生录入系统</legend>
    <div>
      <div><span>姓名:</span>
        <!--用v-model指令绑定输入的信息,更新到表格-->
        <input type="text" placeholder="请输入姓名" v-model=" newMessage.name">
      </div>
      <div><span>年龄:</span>
        <input type="text" placeholder="请输入年龄" v-model=" newMessage.age">
      </div>
      <div>
        <span>性别:</span>
        <select v-model=" newMessage.sex">
          <option value="男">男</option>
          <option value="女">女</option>
        </select>
      </div>
      <div>
        <span>电话:</span>
        <input type="text" placeholder="请输入电话号码" v-model=" newMessage.phone">
      </div>
    </div>
    <button @click="createNewMessage()">创建新用户</button>
  </fieldset>
  <!--信息显示框-->
  <table>
    <thead>
    <tr>
      <td>姓名</td>
      <td>性别</td>
      <td>年龄</td>
      <td>电话</td>
      <td>删除</td>
    </tr>
    </thead>
    <tbody>
    <tr v-for="(i,index) in persons">
      <td>{{i.name}}</td>
      <td>{{i.sex}}</td>
      <td>{{i.age}}</td>
      <td>{{i.phone}}</td>
      <td>
        <button @click=" deleteStuMessage(index)">删除</button>
      </td>
    </tr>
    </tbody>
  </table>
</div>
 
<script src="vue.min.js"></script>
<script>
  new Vue({
    el: '#app',
    data: {
      persons: [
        {name: '王舞', age: 20, sex: '女', phone: '13547878787'},
        {name: '青峰', age: 22, sex: '男', phone: '13547878784'},
        {name: '小倩', age: 24, sex: '女', phone: '13547878781'},
        {name: '阿航', age: 22, sex: '男', phone: '13547878786'},
      ],
      newMessage: {name: '', age: '', sex: '男', phone: ''}
    },
 
    methods: {
      // 创建新记录
      createNewMessage() {
        //添加约束
        if (this.newMessage.name === "") {
          alert("请输入姓名!");
          return;
        }
        if (this.newMessage.age <= 0) {
          alert("请输入正确年龄!");
          return;
        }
        if (this.newMessage.phone === "") {
          alert("请填写手机号码!");
          return;
        }
 
        //用数组的unshift方法将新创建的信息加到表头
        this.persons.unshift(this.newMessage);
        //清空数据
        this.newMessage = {name: '', age: '', sex: '男', phone: ''};
      },
 
      //删除记录
      deleteStuMessage(index) {
        this.persons.splice(index, 1);
      }
    },
 
 
  });
 
</script>
 
</body>
</html>

加载全部内容

相关教程
猜你喜欢
用户评论