Vue+Bootstrap实现简易学生管理系统


Posted in Vue.js onFebruary 09, 2021

利用vue和bootstrap做了一个比较简易的学生管理系统,供大家参考,具体内容如下

废话不多说,先来看看效果图

Vue+Bootstrap实现简易学生管理系统

Vue+Bootstrap实现简易学生管理系统

附上源代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>学生管理系统</title>
 <link href="../public/css/bootstrap.min.css" rel="stylesheet">
 <link href="../public/css/style.css" rel="stylesheet">
 <style>
 .row>div{border: 1px solid #000;}
 .modal{display: block;opacity:1;top: 100px; overflow:visible;}
 </style>
</head>
<body>
 <div id="app">

 
 <div class="container">
 <table class="table table-striped">
  <caption>学生管理系统v1.0-展示学生</caption>
  <tr>
  <th>姓名</th>
  <th>年龄</th>
  <th>性别</th>
  <th>操作</th>
  </tr>
  <tr v-for="item,key in stuInfoArr">
  <td>{{item.name}}</td>
  <td>{{item.age}}</td>
  <td>{{item.gender}}</td>
  <td><button @click="showDialog(item.name,key)" class="btn btn-danger btn-xs" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">删除</button></td>
  </tr>  
 </table>
 
 <hr>
 <hr>
 <hr>
 <form action="">
  <table class="table table-striped">
  <caption>添加学生信息</caption>
  <tr>
   <td>项目</td>
   <td>信息</td>
  </tr>
  <tr>
   <td>姓名</td>
   <td>
   <input v-model="stuName" type="text" class="form-control" id="stuname" placeholder="姓名" name="stuname">
   </td> 
  </tr>
  <tr>
   <td>年龄</td>
   <td>
   <input v-model="stuAge" type="text" class="form-control" id="stuage" placeholder="年龄" name="stuage">
   </td> 
  </tr>
  <tr>
   <td>性别</td>
   <td>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" checked value="男"> 男</label>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" value="女"> 女</label>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" value="保密"> 保密</label>
   </td>
  </tr>
  </table>
  <div style="text-align: center;"><input type="button" class="btn btn-info btn-sm add-btn" value="确定增加" @click="add"/></div>
  </form>
 </div>
 <!-- 删除按钮确认框 -->
 <div v-show="isDialogShow" class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
 <div class="modal-dialog" role="document">
  <div class="modal-content">
  <div class="modal-header">
  <button @click="isDialogShow=false" type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
  <h4 class="modal-title" id="exampleModalLabel">确认框</h4>
  </div>
  <div class="modal-body">
  <form>
   <div class="form-group">
   <label for="message-text" class="control-label">确定要删除<strong class="control-label-name" style="color:blue">{{delStuName}}</strong>吗?</label>
  </div>
  </form>
  </div>
  <div class="modal-footer">
  <button type="button" class="btn btn-default" data-dismiss="modal" @click="isDialogShow=false">返回</button>
  <a href="###" rel="external nofollow" class="delete-a"><button type="button" class="btn btn-primary" @click="delStuInfo()">确认</button></a>
  </div>
  </div>
 </div>
 </div>
 </div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script> 
 new Vue({
 el: '#app',
 data: {
 stuInfoArr: [
 { name: '小明', age:12, gender:"男" },
 { name: '小红', age:10, gender:"女" },
 { name: '小刚', age:16, gender:"保密" }
   ],
 isDialogShow: false,
 stuName: "",
 stuAge:"",
 stuGender:"男" ,
 delStuName:'xx',
 index: ""
   
 },
 methods:{
 add() {
 // 业务逻辑
 // 只要有一个为空就终止执行
 if(!this.stuName || !this.stuAge) {
  alert("姓名和年龄不能为空")
  return 
 }
 this.stuInfoArr.push({ name:this.stuName , age:this.stuAge, gender:this.stuGender })
 },
 // 点击删除按钮触发的函数
 showDialog(name,key) {
 this.isDialogShow = true,
 this.delStuName = name,
 this.index = key
 },
 delStuInfo() {
 // 真正实现删除功能
 this.stuInfoArr.splice(this.index, 1),
 this.isDialogShow = false
 }
 },   
 })
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
vue+openlayers绘制省市边界线
Dec 24 Vue.js
利用Vue实现简易播放器的完整代码
Dec 30 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
vue使用echarts实现折线图
Mar 21 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
Vue操作Storage本地化存储
Apr 29 Vue.js
详解Vue的七种传值方式
Feb 08 #Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 #Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 #Vue.js
vue如何使用rem适配
Feb 06 #Vue.js
如何管理Vue中的缓存页面
Feb 06 #Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 #Vue.js
vue3.0 自适应不同分辨率电脑的操作
Feb 06 #Vue.js
You might like
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
使用PHP编写发红包程序
2015/07/22 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
常用js脚本
2006/12/03 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
Python中的ctime()方法使用教程
2015/05/22 Python
关于Python数据结构中字典的心得
2017/12/04 Python
python线程池threadpool使用篇
2018/04/27 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
大学生安全责任书
2014/07/25 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
领导干部考核评语
2015/01/04 职场文书
财务会计求职信范文
2015/03/20 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS