初使用Layui框架

1、使用前:

     到官网下载Layui,将主要的文件layui.js、layui.css引入到你的文件里

2、使用动态表格,如:

代码如下:

步骤1:

 <table class="layui-hide" id="test" lay-filter="hdshow"></table>
    <input id="handle_status" value="" style="text-align:center; display:none" />
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs del" lay-event="del">删除</a>
    </script>

步骤:2:在<script>文件中,添上:layui.use('table', function () {

  var table = layui.table;
                var $ = layui.jquery, layer = layui.layer; //独立版的layer无需执行这一句
                table.render({
                    elem: '#test'    //渲染的table
                 , limit: 10
                 , url: "/你访问的后台方法"
                 , cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                 , cols: [[
                    { field: 'Id', width: 150, title: 'ID', sort: true }
                   , { field: 'Name', width: 100, title: '货代名称'}
                   , { field: 'Lxr', width: 150, title: '收货联系人', edit: 'text' }                        
                   , { fixed: 'right', width: 80, align: 'center', toolbar: '#barDemo' }//设置编辑、删除的工具栏
                 ]]
                 , page: true
                     , done: function (res, curr, count) {                        
                         $(".layui-table-box").find("[data-field='Id']").css("display", "none"); // 隐藏列
                     }
                });

            //监听工具条
                table.on('tool(hdshow)', function (obj) {
                    var data = obj.data;
                     if (obj.event === 'del') {
                         layer.confirm('真的删除行么', function (index) {  
                            //对数据库的操作
                            $.ajax({
                                url: "/你的后台方法r",
                                type: "post",
                                data: { "id": data.Id },
                                dataType: "json",
                                async: false,     //这很重要,要写上,否则数据会延迟,得不到你想要的效果
                                success: function (d) {
                                    layer.msg('刪除成功!', {
                                        icon: 1,
                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    }, function () {
                                        history.go(0);
                                    });
                                }
                            });
                            obj.del();
                            layer.close(index);
                        });
                    }

                });

});

3、点击按钮,弹出页面的方法

步骤1:添加一个按钮:

setTop是active触发事件的方法

<button data-method="setTop" data-type="auto" class="layui-btn" id="btnAdd">新增</button>

 <input id="handle_status" value="" style="text-align:center; display:none" />  //用来自动关闭弹出层

步骤2:在<script>文件中,添上:

 layui.use(['form', 'layedit', 'laydate', 'layer'], function () {
            var form = layui.form
              , layer = layui.layer
            var $ = layui.jquery, layer = layui.layer; //独立版的layer无需执行这一句
            //触发事件
            var active = {
                setTop: function () {
                    var that = this;
                    layer.open({
                        type: 2 //彈出新頁面
                      , title: '新增货代'
                      , area: ['700px', '300px']  //页面大小
                      , shade: 0
                      , maxmin: true
                      , offset: [ //坐标
                       100
                        ,100
                      ]
                      , content: '/你的方法'
                      , zIndex: layer.zIndex //重点1
                      , success: function (layero) {
                          //  layer.setTop(layero); //把返回内容放在里面
                          layer.close();
                      },
                        //最后执行
                        end: function () {
                            var handle_status = $("#handle_status").val();  //在你访问方法成功后赋值,然后判断成功/失败---》关闭刷新页面
                            if (handle_status == '1') {
                                layer.msg('添加成功!', {
                                    icon: 1,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                                    history.go(0);
                                });
                            } else if (handle_status == '2') {
                                layer.msg('添加失败!', {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                                    history.go(0);
                                });
                            }
                        }


                    });
                }
            };
            //彈出提示框、窗口
            $('#btnAdd').on('click', function () {
                var othis = $(this), method = othis.data('method');
                active[method] ? active[method].call(this, othis) : '';
            });
        });

4、当你重新为下拉框之类赋值,要重新渲染表单:form.render('select');

5、后台方法返回的Json:具体参考官网

     动态表格:

return new JsonResult()
            {
                Data = new
                {
                    code = "", //解析接口状态
                    msg = "", //解析提示文本
                    count = CustomerService.returnCount(), //解析数据长度
                    status = 200,
                    data = clist
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

猜你喜欢

转载自blog.csdn.net/qq_37986863/article/details/85059964