Layui 是一个非常优秀的前端 UI 框架,提供了丰富的组件和模块,尤其在表格方面,其功能强大且易于使用。本文将详细介绍 Layui 的表格常用功能,包括表单提交事件、表格下拉按钮点击事件,以及表格外的按钮点击事件,并附上相应的代码示例。

一、表单提交事件

在使用 Layui 表格时,常常需要将表单数据提交到服务器。我们可以通过监听表单的提交事件来实现这一功能。以下是一个基本示例,展示如何通过Layui提交表单数据。

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui/src/css/layui.css">
    <script src="https://cdn.jsdelivr.net/npm/layui/src/layui.js"></script>
</head>
<body>

    <form class="layui-form" action="" lay-filter="formDemo">
        <div class="layui-form-item">
            <label class="layui-form-label">名称</label>
            <div class="layui-input-block">
                <input type="text" name="name" required  lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button>
        </div>
    </form>

    <script>
        layui.use(['form'], function() {
            var form = layui.form;

            // 监听提交事件
            form.on('submit(formDemo)', function(data) {
                console.log(data.field); // 获取表单数据
                // 这里可以进行 AJAX 提交
                // $.post('/submit-url', data.field, function(res) {
                //     console.log(res);
                // });
                return false; // 防止表单跳转
            });
        });
    </script>
</body>
</html>

二、表格下拉按钮点击事件

在表格中经常需要添加下拉按钮,以便进行增加、删除、编辑等操作。利用 Layui,我们可以通过自定义按钮来实现这些功能。以下是一个实现下拉按钮点击事件的示例。

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui/src/css/layui.css">
    <script src="https://cdn.jsdelivr.net/npm/layui/src/layui.js"></script>
</head>
<body>

    <table class="layui-table" id="demo" lay-filter="test"></table>

    <script>
        layui.use(['table'], function() {
            var table = layui.table;

            // 表格渲染
            table.render({
                elem: '#demo',
                data: [
                    { "id": 1, "name": "张三", "age": 25 },
                    { "id": 2, "name": "李四", "age": 30 }
                ],
                cols: [[
                    { field: 'id', title: 'ID' },
                    { field: 'name', title: '姓名' },
                    { field: 'age', title: '年龄' },
                    { title: '操作', toolbar: '#barDemo' }
                ]]
            });

            // 监听工具条
            table.on('tool(test)', function(obj) {
                var data = obj.data; // 获取当前行数据
                if (obj.event === 'edit') {
                    layer.msg('编辑 ID:' + data.id);
                } else if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function(index) {
                        obj.del(); // 刪除当前行
                        layer.close(index);
                    });
                }
            });
        });
    </script>

    <script type="text/html" id="barDemo">
        <div class="layui-btn-group">
            <button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button>
            <button class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</button>
        </div>
    </script>
</body>
</html>

三、表格外的按钮点击事件

除了表格内部的功能外,通常我们还需要一些表格外部的操作按钮,比如全选、导入、导出等。以下为实例:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui/src/css/layui.css">
    <script src="https://cdn.jsdelivr.net/npm/layui/src/layui.js"></script>
</head>
<body>

    <button id="addBtn" class="layui-btn">添加用户</button>
    <table class="layui-table" id="userTable"></table>

    <script>
        layui.use(['table', 'layer'], function() {
            var table = layui.table;
            var layer = layui.layer;

            // 表格渲染
            table.render({
                elem: '#userTable',
                data: [ /* ... 数据源 */ ],
                cols: [[
                    { field: 'id', title: 'ID' },
                    { field: 'name', title: '姓名' },
                    { field: 'age', title: '年龄' }
                ]]
            });

            // 添加用户按钮点击事件
            document.getElementById('addBtn').addEventListener('click', function() {
                layer.prompt({title: '输入姓名'}, function(value, index){
                    // 这里可以进行数据添加操作
                    layer.close(index);
                });
            });
        });
    </script>
</body>
</html>

结论

通过以上示例,我们可以看到如何利用 Layui 提供的功能来处理表单提交、表格下拉按钮点击和表格外部按钮事件。在实际开发中,我们可以根据自己的需求,灵活运用这些功能来提升用户体验。 Layui 的设计理念旨在简化开发过程,使前端开发变得更加高效和便捷。希望本文能对你在使用 Layui 的过程中有所帮助!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部