From c968ab358d404888ef4d0ed8af453128974ae5c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= <3277200+sentsim@users.noreply.github.com> Date: Fri, 10 Mar 2023 13:16:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20dropdown=20=E5=AF=B9=20`da?= =?UTF-8?q?ta`=20=E7=9A=84=20`disabled`=20=E5=B1=9E=E6=80=A7=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/css/layui.css | 2 ++ src/modules/dropdown.js | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/css/layui.css b/src/css/layui.css index 6fdf5491..167186ea 100644 --- a/src/css/layui.css +++ b/src/css/layui.css @@ -1120,6 +1120,8 @@ body .layui-table-tips .layui-layer-content{background: none; padding: 0; box-sh .layui-menu-body-title a{padding: 5px 15px; color: initial} .layui-menu li{position: relative; margin: 1px 0; width: calc(100% + 1px); line-height: 26px; color: rgba(0,0,0,.8); font-size: 14px; white-space: nowrap; cursor: pointer; transition: all .3s;} .layui-menu li:hover{background-color: #f8f8f8; } +.layui-menu li.layui-disabled, +.layui-menu li.layui-disabled *{background: none !important; color: #d2d2d2 !important; cursor: not-allowed !important;} .layui-menu-item-parent:hover>.layui-menu-body-panel{display: block; animation-name: layui-fadein; animation-duration: 0.3s; animation-fill-mode: both; animation-delay:.2s;} .layui-menu-item-parent .layui-menu-body-title, diff --git a/src/modules/dropdown.js b/src/modules/dropdown.js index cf5c2e9b..3421eafb 100644 --- a/src/modules/dropdown.js +++ b/src/modules/dropdown.js @@ -179,7 +179,7 @@ layui.define(['jquery', 'laytpl', 'lay'], function(exports){ if(isChild || type){ return ' class="'+ className[type] +'"'; } - return ''; + return item.disabled ? ' class="'+ STR_DISABLED +'"' : ''; }() +'>' //标题区 @@ -273,7 +273,10 @@ layui.define(['jquery', 'laytpl', 'lay'], function(exports){ var data = othis.data('item') || {}; var isChild = data.child && data.child.length > 0; var isClickAllScope = options.clickScope === 'all'; // 是否所有父子菜单均触发点击事件 + + if(data.disabled) return; // 菜单项禁用状态 + // 普通菜单项点击后的回调及关闭面板 if((!isChild || isClickAllScope) && data.type !== '-'){ var ret = typeof options.click === 'function' && options.click(data, othis); ret === false || (isChild || that.remove());