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 相关文章推荐
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
vue+element实现动态加载表单
Dec 13 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
vue3种table表格选项个数的控制方法
Apr 14 Vue.js
vue项目如何打包之项目打包优化(让打包的js文件变小)
Apr 30 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
phpize的深入理解
2013/06/03 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
python绘制热力图heatmap
2020/03/23 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
浅析PEP572: 海象运算符
2019/10/15 Python
使用Python实现分别输出每个数组
2019/12/06 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
linux面试题参考答案(5)
2014/09/01 面试题
创意活动策划书
2014/01/15 职场文书
小学教师办公室制度
2014/02/03 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
质量月活动策划方案
2014/03/10 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
明星邀请函
2015/02/02 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python