Vue指令实战:结合bootstrap做一个用户信息输入表格

发布时间:2020-08-04 01:10:07 作者:frwupeng517
来源:网络 阅读:2061

结合前面的vue指令做了个小例子,用户在表单里面输入用户名和年龄,点击“添加”以后会保存到用户信息表里面

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="renderer" content="webkit">
    <link rel="stylesheet" href="resources/css/bootstrap.min.css"/>
    <title></title>
</head>
<body>
<div class="container" id="box">
    <form role="form">
        <div class="form-group">
            <label for="uName">用户名:</label>
            <!--.form-control 类的 <input>、<textarea> 和 <select> 元素都将被默认设置宽度属性为 width: 100%;-->
            <input type="text" id="uName" class="form-control" v-model="userName">
        </div>
        <div class="form-group">
            <label for="age">年  龄:</label>
            <input type="text" id="age" class="form-control" v-model="userAge">
        </div>
        <div class="form-group">
            <input type="button" value="添加" class="btn btn-primary" @click="add">
            <input type="reset" value="重置" class="btn btn-success">
        </div>
    </form>
    <hr>
    <table class="table table-bordered table-hover">
        <caption class="h3 text-center">用户信息表</caption>
        <thead>
        <tr class="text-info">
            <th class="text-center">序号</th>
            <th class="text-center">名字</th>
            <th class="text-center">年龄</th>
            <th class="text-center">操作</th>
        </tr>
        </thead>
        <tbody>
        <tr class="text-center" v-for="item in myData">
            <td>{{$index+1}}</td>
            <td>`item`.`name`</td>
            <td>`item`.`age`</td>
            <td><button class="btn btn-info btn-sm" data-toggle="modal" data-target="#layer" @click="nowIndex=$index">删除</button></td>
        </tr>
        <tr class="text-right" v-show="myData.length!=0">
            <td colspan="4">
                <button class="btn btn-danger btn-sm" data-toggle="modal" data-target="#layer" @click="nowIndex=-2">全部删除</button>
            </td>
        </tr>
        <tr class="text-center text-muted" v-show="myData.length==0">
            <td colspan="4"><p>暂无数据……</p></td>
        </tr>
        </tbody>
    </table>
    <!--模态框 弹出框-->
    <div class="modal fade" role="dialog" id="layer">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">
                        <span>&times;</span>
                    </button>
                    <h5 class="modal-title">确认删除吗?</h5>
                </div>
                <div class="modal-body text-right">
                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                    <button type="button" class="btn btn-primary" data-dismiss="modal" @click="remove(nowIndex)">确认</button>
                </div>
            </div>
        </div>

    </div>

</div>


<script src="resources/js/jquery-1.9.1.min.js"></script>
<script src="resources/js/bootstrap.min.js"></script>
<script src="resources/js/vue.js"></script>
<script>
    var vm = new Vue({
        el:'#box',
        data:{
            myData:[],
            userName:'',
            userAge:'',
            nowIndex:'-100' //需要特别注意nowIndex的用法
        },
        methods:{
            add:function(){
                this.myData.push({
                    name: this.userName,
                    age: this.userAge
                });
                this.userName='';
                this.userAge='';
            },
            remove:function(n){
                if(n==-2){//如果点击的是“全部删除”,则清空整个数组
                    this.myData=[];
                }else{//如果点击的是单行内的“删除”,则删除该行即可
                    this.myData.splice(n,1)
                }
            }
        }
    })
</script>
</body>
</html>

Vue指令实战:结合bootstrap做一个用户信息输入表格

推荐阅读:
  1. bootstrap如何实现表格
  2. vue结合bootstrap4.0使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue @click v-show

上一篇:JVM 常用参数

下一篇:Exchange 2013CU17和office 365混合部署-部署ADFS(五)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》