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的tree组件
Dec 03 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
Vue项目中如何封装axios(统一管理http请求)
May 02 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
vue elementUI表格控制对应列
Apr 13 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 删除数组元素
2009/01/16 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
php实现算术验证码功能
2018/12/05 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
js文字横向滚动特效
2015/11/11 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
Python中分数的相关使用教程
2015/03/30 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
英国家电直销:Appliances Direct
2016/09/22 全球购物
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
公司总经理助理岗位职责
2014/07/09 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
2015年公司新年寄语
2014/12/08 职场文书
工作失职自我检讨书
2015/05/05 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
python turtle绘图
2022/05/04 Python
基于Python实现西西成语接龙小助手
2022/08/05 Golang