前端组件库 ——LayUI 知识点大全(三)

简介: 教程来源 https://bncne.cn LayUI基础元素丰富实用:按钮支持多色、多尺寸及图标组合;图标为矢量字体,可自由缩放变色;表单模块集成验证与交互;layer弹层、table表格、laydate日期、upload上传等核心模块,让后台开发简洁高效。

四、基础元素与视觉

4.1 按钮
LayUI 的按钮样式丰富,只需为 button、a 等元素添加 layui-btn 类即可,同时支持多种尺寸和主题色。

<!-- 基础按钮 -->
<button class="layui-btn">默认按钮</button>
<button class="layui-btn layui-btn-primary">原始按钮</button>
<button class="layui-btn layui-btn-normal">百搭按钮</button>
<button class="layui-btn layui-btn-warm">暖色按钮</button>
<button class="layui-btn layui-btn-danger">警告按钮</button>
<button class="layui-btn layui-btn-disabled">禁用按钮</button>

<!-- 不同尺寸 -->
<button class="layui-btn layui-btn-lg">大型按钮</button>
<button class="layui-btn layui-btn-sm">小型按钮</button>
<button class="layui-btn layui-btn-xs">迷你按钮</button>

<!-- 圆角按钮 -->
<button class="layui-btn layui-btn-radius">圆角按钮</button>

<!-- 流体按钮(占满父容器宽度) -->
<button class="layui-btn layui-btn-fluid">流体按钮</button>

<!-- 图标按钮 -->
<button class="layui-btn">
  <i class="layui-icon layui-icon-home"></i> 首页
</button>

<!-- 按钮组 -->
<div class="layui-btn-group">
  <button class="layui-btn">增加</button>
  <button class="layui-btn">编辑</button>
  <button class="layui-btn">删除</button>
</div>

4.2 图标
LayUI 内置了大量图标(LayUI 2.8 版本后新增了 18 个),使用 layui-icon 类即可调用。图标采用字体方式渲染,可以随意改变颜色和大小。

<!-- 基础图标 -->
<i class="layui-icon layui-icon-face-smile"></i>

<!-- 带文字的图标链接 -->
<a href="javascript:;" class="layui-btn layui-btn-primary">
  <i class="layui-icon layui-icon-delete"></i> 删除
</a>

<!-- 调整图标大小(通过 CSS) -->
<i class="layui-icon layui-icon-home" style="font-size: 30px; color: #16baaa;"></i>

4.3 表单
表单是后台管理系统中的核心元素。LayUI 的表单模块 form 负责管理输入框、下拉框、单选框、复选框和开关等组件。重要提示:所有表单项必须放在具有 class="layui-form" 的容器内,否则样式和事件将不生效。

<form class="layui-form" action="">
  <!-- 输入框 -->
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-block">
      <input type="text" name="username" required lay-verify="required" 
             placeholder="请输入" autocomplete="off" class="layui-input">
    </div>
  </div>

  <!-- 开关 -->
  <div class="layui-form-item">
    <label class="layui-form-label">状态</label>
    <div class="layui-input-block">
      <input type="checkbox" name="status" lay-skin="switch" lay-text="开启|关闭">
    </div>
  </div>

  <!-- 下拉框(带搜索) -->
  <div class="layui-form-item">
    <label class="layui-form-label">城市</label>
    <div class="layui-input-block">
      <select name="city" lay-search>
        <option value="010">北京</option>
        <option value="021">上海</option>
        <option value="020">广州</option>
      </select>
    </div>
  </div>

  <!-- 按钮 -->
  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>

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

  // 监听提交事件
  form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    return false; // 阻止页面跳转
  });
});
</script>

表单验证:LayUI 内置了 lay-verify 属性用于表单验证,常见值有 required(必填)、phone(手机号)、email(邮箱)、url(网址)等。

五、核心交互模块详解

LayUI 的 JavaScript 模块是其灵魂所在,赋予了静态页面强大的动态交互能力。

5.1 弹出层 Layer
layer 被誉为 LayUI 最经典的模块,几乎是弹窗解决方案的首选。它不仅功能强大,而且使用极其简单。

// 基础消息框
layer.msg('操作成功', {icon: 1, time: 2000});

// 确认框
layer.confirm('确定要删除这条数据吗?', {
  icon: 3,
  title: '提示',
  btn: ['确定', '取消']
}, function(index){
  layer.close(index);
  layer.msg('删除成功');
}, function(index){
  layer.close(index);
});

// 加载层
var index = layer.load(1, { shade: [0.3, '#000'] });
setTimeout(function(){
  layer.close(index);
  layer.msg('加载完成');
}, 2000);

// iframe弹窗
layer.open({
  type: 2,
  title: '编辑用户',
  area: ['700px', '450px'],
  content: '/page/edit-user?id=123',
  end: function(){
    location.reload();
  }
});

5.2 数据表格 Table
table 模块是 LayUI 处理数据展示的核心,支持动态渲染、分页、排序、筛选、行内编辑等复杂功能。

layui.use('table', function(){
  var table = layui.table;

  table.render({
    elem: '#demo',
    url: '/api/data',
    toolbar: '#toolbarDemo',
    cols: [[
      {type: 'checkbox', fixed: 'left'},
      {field: 'id', title: 'ID', width:80, sort: true},
      {field: 'username', title: '用户名', width:120},
      {field: 'email', title: '邮箱', width:200},
      {fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
    ]],
    page: true,
    limit: 20
  });
});

5.3 日期时间选择器 Laydate
laydate 模块提供了强大的日期时间选择功能,支持单选、区间选择、自定义格式等。

layui.use('laydate', function(){
  var laydate = layui.laydate;

  // 基础日期选择
  laydate.render({ elem: '#test1' });

  // 时间选择器
  laydate.render({ elem: '#test2', type: 'time' });

  // 日期时间范围选择
  laydate.render({ elem: '#test3', type: 'datetime', range: true });

  // 年选择器
  laydate.render({ elem: '#test4', type: 'year', format: 'yyyy年' });
});

5.4 文件上传 Upload
upload 模块提供了丰富的文件上传方案,支持多文件、拖拽上传、图片预览等。

layui.use('upload', function(){
  var upload = layui.upload;

  upload.render({
    elem: '#test1',
    url: '/api/upload/',
    accept: 'image',
    done: function(res){
      layer.msg('上传成功');
      $('#demo1').attr('src', res.url);
    },
    error: function(){
      layer.msg('上传失败');
    }
  });
});

来源:https://yyvgt.cn

相关文章
|
6天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23334 5
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
15天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。
5329 25
|
11天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
3846 12
|
10天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
3151 10
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
27天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
21193 64
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)