Files
layui/examples/menu.html
sunxiaobin89 5ab142153b ci: 添加 lint 和 format 工具,统一代码格式 (#2905)
* style: 统一代码格式,修复ESLint错误

- 为所有模块添加尾随逗号
- 修复缺少分号的语句
- 统一对象字面量格式
- 添加ESLint配置文件和文档
- 更新package.json中的脚本和依赖项

* build: 添加 ESLint 配置文件以支持 IE9+ 兼容性

* refactor(upload): 使用已缓存的hint实例替换直接调用

优化代码性能,避免重复实例化hint对象,直接使用模块顶部已缓存的实例

* chore: 更新.gitignore文件以包含更多忽略规则

添加了更多常见的临时文件、编辑器文件、构建输出目录和运行时数据的忽略规则,使项目更加整洁并避免不必要的文件被提交到版本控制中

* fix(lay.js): 修复passive事件监听器选项的返回值

确保getter函数返回true以正确支持passive事件监听

* refactor(form): 移除表单模块中的冗余代码

删除表单模块中无实际作用的冗余代码行,这些代码只是将属性重新赋值为自身,没有实际功能意义

* fix(form): 修复复选框状态处理逻辑

确保复选框的 indeterminate 和 checked 状态被正确转换为布尔值,并优化事件调用时的空格格式

* feat(eslint): 完善 ESLint 配置并添加 VSCode 支持

添加 VSCode 配置文件以支持 ESLint 自动修复和格式化
更新 ESLint 配置,增强代码风格和兼容性规则
修复 package.json 中的脚本拼写错误并添加 format 脚本
调整 .gitignore 以允许特定 VSCode 配置文件

* style: 统一代码中的引号格式并修复缩进问题

统一将双引号改为单引号,修复部分代码缩进不一致的问题,提升代码风格一致性

* docs: 删除过时的ESLint配置文档文件

* build: 采用 prettier 作为代码格式化工具,剔除 ESLint 格式化部分

* chore: 剔除 .vscode/ 配置,保持编辑器中立

* build: 修改 ESLint 为「扁平化配置」方式,避免大量参数堆砌

* chore: 格式化代码

* ci: 添加 git hooks 和 CI 环节把关代码风格

* ci: update

* ci: update

* test: 测试 ci format

* ci: 改用 husky 作为 git hooks,与 Layui 3 保持一致

经测试,simple-git-hooks 生成的 pre-commit 默认为 sh,在 Windows 不兼容(必须用 git bash 执行 commits)

* build: 新增 CI 和生产环境跳过 husky 安装的判断

* build: 剔除重复配置

* build: 优化 eslint 配置

---------

Co-authored-by: 贤心 <3277200+sentsim@users.noreply.github.com>
2025-11-10 16:03:37 +08:00

283 lines
10 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<title>菜单元素 - layui</title>
<link rel="stylesheet" href="../src/css/layui.css" />
</head>
<body>
<div class="layui-container" style="padding-top: 30px">
<div class="layui-btn-container">
<button type="button" class="layui-btn" lay-active="lg">大尺寸</button>
<button type="button" class="layui-btn" lay-active="normal">
常规尺寸
</button>
</div>
<div
class="layui-row layui-col-space30"
id="demo-box"
style="padding: 30px 0"
>
<div class="layui-col-xs9 layui-col-md3">
<div class="layui-panel">
<ul class="layui-menu" id="demo1">
<li lay-options="{id: 100}">
<div class="layui-menu-body-title"><a>menu item 1</a></div>
</li>
<li lay-options="{id: 101}">
<div class="layui-menu-body-title">
<a href=""
>menu item 2 <span class="layui-badge-dot"></span
></a>
</div>
</li>
<li class="layui-menu-item-divider"></li>
<li
class="layui-menu-item-group layui-menu-item-down"
lay-options="{type: 'group'}"
>
<div class="layui-menu-body-title">
menu group <i class="layui-icon layui-icon-up"></i>
</div>
<ul>
<li lay-options="{id: 103}">
<div class="layui-menu-body-title">menu item 3-1</div>
</li>
<li
class="layui-menu-item-group"
lay-options="{type: 'group', isAllowSpread: false}"
>
<div class="layui-menu-body-title">menu group 2</div>
<ul>
<li class="layui-menu-item-checked">
<div class="layui-menu-body-title">menu item 3-2-1</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 3-2-2</div>
</li>
</ul>
</li>
<li>
<div class="layui-menu-body-title">menu item 3-3</div>
</li>
</ul>
</li>
<li class="layui-menu-item-divider"></li>
<li>
<div class="layui-menu-body-title">
menu item 4 <span class="layui-badge">1</span>
</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 5</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 6</div>
</li>
<li class="layui-menu-item-parent" lay-options="{type: 'parent'}">
<div class="layui-menu-body-title">
menu item 7 Children
<i class="layui-icon layui-icon-right"></i>
</div>
<div class="layui-panel layui-menu-body-panel">
<ul>
<li
class="layui-menu-item-parent"
lay-options="{type: 'parent'}"
>
<div class="layui-menu-body-title">
menu item 7-1
<i class="layui-icon layui-icon-right"></i>
</div>
<div class="layui-panel layui-menu-body-panel">
<ul>
<li>
<div class="layui-menu-body-title">
menu item 7-2-1
</div>
</li>
<li>
<div class="layui-menu-body-title">
menu item 7-2-2
</div>
</li>
<li>
<div class="layui-menu-body-title">
menu item 7-2-3
</div>
</li>
<li>
<div class="layui-menu-body-title">
menu item 7-2-4
</div>
</li>
</ul>
</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 7-2</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 7-3</div>
</li>
</ul>
</div>
</li>
<li>menu item 8</li>
<li class="layui-menu-item-divider"></li>
<li class="layui-menu-item-group" lay-options="{type: 'group'}">
<div class="layui-menu-body-title">menu group 9</div>
<ul>
<li>
<div class="layui-menu-body-title">menu item 9-1</div>
</li>
<li
class="layui-menu-item-parent"
lay-options="{type: 'parent'}"
>
<div class="layui-menu-body-title">
menu item 9-2
<i class="layui-icon layui-icon-right"></i>
</div>
<div class="layui-panel layui-menu-body-panel">
<ul>
<li>
<div class="layui-menu-body-title">
menu item 9-2-1
</div>
</li>
<li>
<div class="layui-menu-body-title">
menu item 9-2-2
</div>
</li>
<li>
<div class="layui-menu-body-title">
menu item 9-2-3
</div>
</li>
</ul>
</div>
</li>
<li>
<div class="layui-menu-body-title">menu item 9-31</div>
</li>
</ul>
</li>
<li class="layui-menu-item-divider"></li>
<li>
<div class="layui-menu-body-title">menu item 10</div>
</li>
</ul>
</div>
</div>
<div class="layui-col-xs9 layui-col-md3">
<div class="layui-panel">
<ul class="layui-menu" id="docDemoMenu1">
<li lay-options="{id: 100}">
<div class="layui-menu-body-title">menu item 1</div>
</li>
<li lay-options="{id: 101}">
<div class="layui-menu-body-title">
<a href=""
>menu item 2 <span class="layui-badge-dot"></span
></a>
</div>
</li>
<li class="layui-menu-item-divider"></li>
<li
class="layui-menu-item-group layui-menu-item-down"
lay-options="{type: 'group', isAllowSpread: false}"
>
<div class="layui-menu-body-title">menu group</div>
<ul>
<li lay-options="{id: 1031}">
<div class="layui-menu-body-title">menu item 3-1</div>
</li>
<li lay-options="{id: 1032}">
<div class="layui-menu-body-title">menu item 3-2</div>
</li>
</ul>
</li>
<li class="layui-menu-item-divider"></li>
<li
class="layui-menu-item-group layui-menu-item-down"
lay-options="{type: 'group', isAllowSpread: false}"
>
<div class="layui-menu-body-title">menu group 2</div>
<ul>
<li lay-options="{id: 1031}">
<div class="layui-menu-body-title">menu item 4-1</div>
</li>
<li lay-options="{id: 1032}">
<div class="layui-menu-body-title">menu item 4-2</div>
</li>
</ul>
</li>
<li class="layui-menu-item-divider"></li>
<li class="layui-menu-item-parent" lay-options="{type: 'parent'}">
<div class="layui-menu-body-title">
menu item 5
<i class="layui-icon layui-icon-right"></i>
</div>
<div class="layui-panel layui-menu-body-panel">
<ul>
<li lay-options="{id: 1051}">
<div class="layui-menu-body-title">menu item 5-1</div>
</li>
<li lay-options="{id: 1051}">
<div class="layui-menu-body-title">menu item 5-2</div>
</li>
</ul>
</div>
</li>
<li lay-options="{id: 106}">
<div class="layui-menu-body-title">menu item 6</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<script src="../src/layui.js"></script>
<script>
layui.use(['dropdown', 'util'], function () {
var dropdown = layui.dropdown,
util = layui.util,
$ = layui.jquery;
dropdown.on('click(demo1)', function (options) {
var thisElem = $(this);
console.log(thisElem, options);
});
util.event('lay-active', {
normal: function () {
$('#demo-box')
.children()
.addClass('layui-col-md3')
.removeClass('layui-col-md4');
$('#demo-box').find('.layui-menu').removeClass('layui-menu-lg');
},
lg: function () {
$('#demo-box')
.children()
.addClass('layui-col-md4')
.removeClass('layui-col-md3');
$('#demo-box').find('.layui-menu').addClass('layui-menu-lg');
}
});
});
</script>
</body>
</html>