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 相关文章推荐
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
vue3.0 自适应不同分辨率电脑的操作
Feb 06 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
vue递归实现树形组件
Jul 15 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
使PHP自定义函数返回多个值
2006/11/26 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
php不写闭合标签的好处
2014/03/04 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
js+css在交互上的应用
2010/07/18 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
js阻止冒泡和默认事件(默认行为)详解
2016/10/20 Javascript
canvas实现钟表效果
2017/02/13 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
Python列表推导式的使用方法
2013/11/21 Python
Python Tkinter简单布局实例教程
2014/09/03 Python
python实现K最近邻算法
2018/01/29 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
杭州时比特电子有限公司SQL
2013/08/22 面试题
学生手册评语
2014/05/05 职场文书
大气污染防治方案
2014/05/19 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
Python3接口性能测试实例代码
2021/06/20 Python
python微信智能AI机器人实现多种支付方式
2022/04/12 Python