前端组件库 ——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

相关文章
|
2天前
|
人工智能 安全 API
阿里云零门槛部署 Hermes Agent/OpenClaw、集成几大神级 Skills 教程
在2026年AI智能体浪潮中,OpenClaw(前身为Clawdbot、Moltbot)凭借开源灵活的特性引爆全网——短短20多天,GitHub星标数从几百飙升至175K,远超同类项目数年积累。这款被网友戏称为“买Mac Mini只为给它安家”的AI工具,本质是一款跨平台个人AI助手,支持文件操作、命令执行、多工具协同等核心能力,而阿里云的一键部署方案更让其门槛骤降,无需复杂配置即可实现7×24小时稳定运行。
76 0
|
7天前
|
Web App开发 前端开发 数据可视化
前端组件库 ——ECharts 知识点大全(一)
教程来源 https://bgnno.cn/ ECharts 是 Apache 顶级开源可视化库,由百度于2013年发起,支持50+图表类型、千万级数据渲染、Canvas/SVG双引擎及深度交互。兼容主流浏览器与移动端,广泛应用于商业、政务与科研领域。
|
2月前
|
弹性计算 人工智能 机器人
2026年OpenClaw(Clawdbot)阿里云+本地部署,低成本稳定运行保姆级指南
OpenClaw作为开源AI Agent工具,其核心价值在于通过自动化与大模型结合实现生产力提升,但多数用户初次部署时易陷入**云服务器配置繁琐、API成本失控、多Agent记忆错乱、技能安装踩坑**等问题。2026年结合实操经验,本文从架构选择、阿里云ECS部署、本地部署、低成本配置、核心记忆体系搭建、技能规划六大维度,拆解OpenClaw从安装到稳定运行的全流程,包含可直接复制的代码命令,规避80%的常见坑,同时兼顾阿里云远程部署的稳定性与本地部署的低成本,打造可长期复用的OpenClaw运行方案。
1056 1
|
2天前
|
移动开发 前端开发 JavaScript
前端组件库——Plyr 知识点大全(一)
教程来源 https://bncne.cn Plyr 是一款轻量(仅5KB)、无依赖的 HTML5 媒体播放器,支持视频、音频及 YouTube/Vimeo 嵌入。它提供统一美观的 UI、卓越可访问性与跨浏览器一致性,开箱即用,兼容 Vue/React,是替代原生播放器的理想选择。
|
2天前
|
前端开发 JavaScript 开发者
前端组件库 ——LayUI 知识点大全(四)
教程来源 https://zlpow.cn LayUI 2.8+/3.0 支持 CSS 变量主题定制、深浅色切换;提供移动端专用版本;支持按需引入与模块化加载;可开发自定义模块及集成 ECharts 等第三方插件,兼顾简洁性与扩展性,适合快速构建后台系统。
|
2天前
|
前端开发 JavaScript API
前端组件库 ——LayUI 知识点大全(一)
教程来源 http://oplhc.cn LayUI是由国内开发者“贤心”于2016年推出的经典模块化前端UI框架,MIT开源。不依赖Vue/React等现代框架,零配置、低门槛、开箱即用,尤受后端开发者与中小项目青睐。2026年仍持续更新,最新版2.11+强化组件与工程化支持。
|
2天前
|
前端开发 开发者 容器
前端组件库 ——LayUI 知识点大全(二)
教程来源 https://tmywi.cn LayUI提供灵活的布局系统,含固定宽(layui-container)与自适应宽(layui-fluid)两种容器;栅格基于12列响应式设计,支持多端适配(xs/sm/md/lg)、列偏移、列间距等功能,助力快速构建现代化页面结构。
|
2天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
177 1
|
SQL JavaScript 前端开发
Hive学习-lateral view 、explode、reflect和窗口函数
Hive学习-lateral view 、explode、reflect和窗口函数
1047 4
|
数据处理 索引 Python
Pandas中的filter函数:有点鸡肋
Pandas中的filter函数:有点鸡肋
685 0