zoukankan      html  css  js  c++  java
  • VueJs初步学习,一个表格的增删改查

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>VueJs学习测试</title>
        <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="./node_modules/element-ui/lib/theme-default/index.css" />
        <style>
            .mask {
                position: absolute;
                display: none;
                top: 0px;
                left: 0px;
                margin: 0px;
                width: 100%;
                height: 100%;
                background-color: #000;
                opacity: 0.5;
            }
        </style>
    </head>
    <body>
        <div id="app" class="container" style="margin-top: 20px;">
            <div class="row">
                <form style=" 320px;" onsubmit="return false;" @submit="form_submit()">
                    <div class="form-group">
                        <label>姓名</label>
                        <input type="text"
                               class="form-control"
                               v-model="current_user.name"
                               :disabled.prop="status == 'show' ? true : false"
                               required />
                    </div>
                    <div class="form-group">
                        <label>性别</label>
                        <select class="form-control"
                                v-model="current_user.sex"
                                :disabled.prop="status == 'show' ? true : false"
                                required>
                            <option></option>
                            <option value="1"></option>
                            <option value="2"></option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label>年龄</label>
                        <input type="number"
                               class="form-control"
                               v-model="current_user.age"
                               :disabled.prop="status == 'show' ? true : false"
                               required />
                    </div>
                    <div class="form-group">
                        <label>地址</label>
                        <input type="text"
                               class="form-control"
                               v-model="current_user.address"
                               :disabled.prop="status == 'show' ? true : false"   />
                    </div>
                    <div class="form-group text-right">
                        <input type="submit"
                               class="btn btn-success"
                               value="保存"
                               :disabled.prop="status == 'show' ? true : false"   />
                    </div>
                </form>
            </div>
    
            <div class="row">
                <table class="table table-bordered">
                    <thead>
                        <tr>
                            <th class="col-sm-2">姓名</th>
                            <th class="col-sm-2">性别</th>
                            <th class="col-sm-2">年龄</th>
                            <th class="com-sm-5">地址</th>
                            <th class="com-sm-1">操作</th>
                        </tr>
                    </thead>
                    <tbody>
                    <tr v-for="item in list">
                        <td>{{ item.name }}</td>
                        <td>{{ item.sex == 1 ? "男" : "女" }}</td>
                        <td>{{ item.age }}</td>
                        <td>{{ item.address }}</td>
                        <td>
                            <input type="button" class="btn btn-default btn-xs" value="查看" @click="set_show(item)" />
                            <input type="button" class="btn btn-default btn-xs" value="编辑" @click="set_edit(item)"/>
                            <input type="button" class="btn btn-default btn-xs" value="删除" @click="del_item(item)"/>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </div>
    
            <div class="row">
                <input type="button" class="btn btn-success btn-add" value="新增" @click="set_add()" >
            </div>
        </div>
        <div class="mask"></div>
        <script src="./node_modules/vue/dist/vue.js"></script>
        <script src="./node_modules/element-ui/lib/index.js"></script>
        <script src="./node_modules/jquery/dist/jquery.js"></script>
        <script>
            function jsObjCopy(obj) {
                return JSON.parse(JSON.stringify(obj));
            }
    
            function getGuid32() {
                var rt_str = String.fromCharCode(65 + Math.floor(Math.random() * 26));
                for (i = 0; i < 31; ++i) {
                    var num = Math.floor(Math.random() * (26 + 26 + 10));
                    var ch_str;
                    if (num < 10) {
                        ch_str = num.toString();
                    }
                    else if (num < 10 + 26) {
                        ch_str = String.fromCharCode(65 + num - 10);
                    }
                    else {
                        ch_str = String.fromCharCode(97 + num - 10 - 26);
                    }
                    rt_str += ch_str;
                }
                return rt_str;
            }
    
            var myApp = new Vue({
                el: "#app",
                data: {
                    status: "add",
                    current_user: new Object(),
                    list: []
                },
                methods: {
                    set_add: function() {
                        this.status = "add";
                        this.current_user = new Object();
                    },
                    set_show: function(item) {
                        this.status = "show";
                        this.current_user = jsObjCopy(item);
                    },
                    set_edit: function(item) {
                        this.status = "edit";
                        this.current_user = jsObjCopy(item);
                    },
                    del_item: function(item) {
                        var list = this.list;
                        for (i = 0; i < list.length; ++i) {
                            if (list[i].guid == item.guid) {
                                list.splice(i, 1);
                                break;
                            }
                        }
                    },
                    form_submit: function() {
                        if (this.status == "add") {
                            this.current_user.guid = getGuid32();
                            this.list.push(jsObjCopy(this.current_user));
                            this.current_user = new Object();
                        }
                        else if (this.status == "edit") {
                            var list = this.list;
                            for (i = 0; i < list.length; ++i) {
                                if (list[i].guid == this.current_user.guid) {
                                    list.splice(i, 1, jsObjCopy(this.current_user));
                                    break;
                                }
                            }
                        }
                        return false;
                    }
                }
            });
        </script>
    </body>
    </html>
  • 相关阅读:
    spring读取properties配置文件
    WxCpMessageRouter SpringContextHolder
    Maven和Spring mvc下的页面的跳转与取值
    struts2里UI页面标签
    Struts2中集合收集表单数据
    struts2的集合标签
    Struts2的通用标签(数据标签和控制标签)
    多个XML文件的包含与继承关系
    当出现异常时跳转到指定页面
    关于Struts2的动态URL和动态参数
  • 原文地址:https://www.cnblogs.com/jimaojin/p/7495532.html
Copyright © 2011-2022 走看看