layui表单输入框加搜索图标须用lay-type="search"(非原生type="search"),并确保已加载form模块;仅加lay-search属性无效,手动添加layui-icon-search类会引发样式冲突。

layui 表单输入框怎么加搜索图标
直接用 lay-search 属性,但必须配合 lay-type="search" 才生效——很多人只加属性没加 type,图标就出不来。
为什么加了 lay-search 却没显示图标
常见原因是:input 没设对类型或没引入对应模块。Layui 的搜索图标依赖 form 模块渲染,且仅对 type="text" 或 type="search" 生效。
- 确保已加载
form模块:layui.use('form', function(){...}) -
input必须有lay-type="search",不能只写lay-search - 不要手动加
class="layui-icon layui-icon-search"——这会和内置样式冲突,导致图标错位或重复
lay-type="search" 和原生 type="search" 有什么区别
Layui 的 lay-type="search" 是语义化标记,用于触发内部搜索样式(含图标+右侧清空按钮),而原生 type="search" 仅影响浏览器默认行为(如 Safari 的圆角/×按钮),不触发 Layui 样式。
- 想用 Layui 统一风格:用
lay-type="search"+type="text" - 想兼容某些旧版 Layui(class="layui-input-search"
- 若同时写
type="search"和lay-type="search",部分版本会多出两个 × 按钮,务必避免
自定义搜索图标的颜色或位置怎么办
Layui 不提供配置项,只能微调 CSS。图标是伪元素 ::after 插入的,定位依赖 position: relative 和 right 偏移。
input[lay-type="search"] {
padding-right: 30px;
}
input[lay-type="search"]::after {
color: #999;
right: 10px;
}
注意:修改前先确认是否启用了 layui.all.js 或按需加载了 css/layui.css,否则伪元素可能未定义;另外,移动端下 right 值过小会导致图标被截断。
真正容易被忽略的是表单重置(form.reset())后,搜索框的清空按钮状态不会自动同步——得手动监听 click 或用 form.val() 主动清理值。











