bootstrap + js类 + vue.js实现tab

  • 项目目录结构
    这里写图片描述
  • Student.js代码
function Student(){
    this.baseInfo = {
        tabStatus : true ,
        name : '张三',
        sex : 'male'
    } ,
    this.parentsInfo = {
        tabStatus : false,
        fatherName : '张全蛋',
        motherName : '李铁柱'
    } ,
    this.studySituation = {
        tabStatus : false,
        classSort : 1,
        gradeSort : 2
    }
}

-CommonUtil.js代码

Array.prototype.del = function(filter){
  var idx = filter;
  if(typeof filter == 'function'){
    for(var i=0;i<this.length;i++){
      if(filter(this[i],i)) idx = i;
    }
  }
  this.splice(idx,1)
}

var ary=[{id:1,name:"b"},{id:2,name:"b"}];
var delid = 2;
ary.del(function(obj){
  return obj.id == delid;
})
  • html页
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>Student Management</title>
    <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <script src="https://cdn.bootcss.com/jquery/3.1.1/jquery.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
</head>
<body>
    <div id="stu" class="container">
        <ul class="nav nav-tabs">
            <li class="active"><a href="#">基本信息</a></li>
            <li><a href="#">家长信息</a></li>
            <li><a href="#">成绩查询</a></li>
        </ul>
        <div class="tab-content">
            <div class="tab-pane fade in active">
                <table class="table">
                    <tr>
                        <td class="col-lg-2">姓名</td>
                        <td class="col-lg-4">{{baseInfo.name}}</td>
                        <td class="col-lg-2">性别</td>
                        <td class="col-lg-4">{{baseInfo.sex}}</td>
                    </tr>
                </table>
            </div>
            <div class="tab-pane fade in">
                <table class="table">
                    <tr>
                        <td class="col-lg-2">父亲名</td>
                        <td class="col-lg-4">{{parentsInfo.fatherName}}</td>
                        <td class="col-lg-2">母亲名</td>
                        <td class="col-lg-4">{{parentsInfo.motherName}}</td>
                    </tr>
                </table>
            </div>
            <div class="tab-pane fade in">
                <table class="table">
                    <tr>
                        <td class="col-lg-2">全班排名</td>
                        <td class="col-lg-4">{{studySituation.classSort}}</td>
                        <td class="col-lg-2">全级排名</td>
                        <td class="col-lg-4">{{studySituation.gradeSort}}</td>
                    </tr>
                </table>
            </div>
        </div>
    </div>
</body>
<script src="js/Student.js"></script>
<script>
    var student = new Student();
    new Vue({
        el : '#stu',
        data : {
            baseInfo : student.baseInfo,
            parentsInfo : student.parentsInfo,
            studySituation : student.studySituation
        } ,
        method : {

        }
    })
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要确保已经引入了BootstrapVue.js,并且创建了一个Vue实例。 接下来,你可以使用Bootstrap的模态框组件来实现删除确认弹窗: ```html <!-- 删除按钮 --> <button class="btn btn-danger" @click="showDeleteModal=true">删除</button> <!-- 删除确认模态框 --> <div class="modal" tabindex="-1" role="dialog" v-show="showDeleteModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">确认删除?</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="showDeleteModal=false"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>确定要删除这个记录吗?</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal" @click="showDeleteModal=false">取消</button> <button type="button" class="btn btn-danger" @click="deleteRecord">删除</button> </div> </div> </div> </div> ``` 在Vue实例中,你需要定义一个`showDeleteModal`变量来控制模态框的显示和隐藏,并在删除按钮的点击事件中将其设置为`true`。同时,你还需要定义一个`deleteRecord`方法,在用户点击删除按钮后执行实际的删除操作,并将`showDeleteModal`设置为`false`以关闭模态框。 ```javascript new Vue({ el: '#app', data: { records: [ /* ... */ ], showDeleteModal: false, recordToDelete: null }, methods: { deleteRecord() { // 执行实际的删除操作 const index = this.records.indexOf(this.recordToDelete); if (index !== -1) { this.records.splice(index, 1); } // 关闭模态框 this.showDeleteModal = false; } } }); ``` 在删除按钮中,你需要将`recordToDelete`变量设置为当前要删除的记录,以便在`deleteRecord`方法中使用。 ```html <button class="btn btn-danger" @click="showDeleteModal=true; recordToDelete=record">删除</button> ``` 现在,当用户点击删除按钮时,将会弹出一个确认模态框,询问用户是否要删除该记录。如果用户点击了“删除”按钮,Vue实例中的`deleteRecord`方法将会被调用,执行实际的删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值