2.7K Star 15.9K Fork 3.6K

GVPLayui / layui

 / 详情

🎉 分享:在 table 组件中使用 select/dropdown/laydate 等组件实现多样化编辑

已完成
拥有者
创建于  
2022-07-28 13:05

问题说明

  • 众所周知,由于 table 组件的单元格默认是单行模式,且会对元素溢出隐藏,所以当我们使用 select 时,会出现下拉被遮挡的问题。虽然从 v2.7.0 开始,这一问题可以很好地解决,但还是少有人知道如何使用。
  • 再者,对于 table 的编辑功能,大家普遍只停留在 edit 属性上,并没有充分利用 templet 属性的灵活性实现多样化编辑,所以有必要进行这方面的分享,以供大家参考。

解决方案

  • 前置条件: 通过 css 属性取消默认的溢出隐藏,并设置适当高度。
table.render({
  elem: '#id',
  css: '.layui-table-cell{height: 50px; line-height: 40px; overflow: visible;}'
});
  • 方式一: 上述 css 属性设定后,layui select 下拉时即不会被遮挡。但由于 select 组件的定位是相对于父元素,当 select 出现在 table 底部时,可能会撑起 table 的多余高度,因此该 select 方案请谨慎使用
  • 方式二: 将 select 设为原生模式,如:<select lay-ignore class="layui-border">…</select>
  • 方式三: 使用 layui.dropdown 组件替代 select 组件(推荐该方案 ,详见下述演示)

其他组件(如 laydate、switch 等)的编辑方式跟 dropdown 同理

在线演示

评论 (20)

贤心 创建了任务
贤心 添加了
 
分享
标签
贤心 修改了描述
贤心 修改了标题
贤心 关联了任务(普通)表格编辑组件太少
贤心 修改了描述
贤心 修改了标题
贤心 修改了标题
贤心 添加了
 
精华
标签
贤心 修改了描述
贤心 修改了描述
贤心 修改了标题
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
展开全部操作日志

还是dropdown好用

贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述
贤心 修改了描述

建议置顶!!!

嗯,已经放到了顶部的「常见问题和精华讨论集锦」中了,后续看情况再单独置顶。

在layer弹窗里面的下拉框和日期如果是iframe模式也是有一样的问题,建议也优化一下

这个是正常效果
输入图片说明

档选择:签名6、7、8时会有滚动条:
输入图片说明

上面有写,方案一在底部下拉时是会存在这个问题,所以更推荐使用原生 select 和 dropdown 组件替代。
请仔细看看上面分享描述哈

:cold_sweat: ,看漏了

贤心 修改了描述

链接好像打不开了 :sob: ,可以将demo单独写到源码中的例子中吗

有没有个数据表头可以进行筛选的功能(类似于Excel筛选那样)

添加如下样式,完美解决,layui select 撑大父元素问题。
.layui-table-box,
.layui-table-body,
.layui-table-cell {
overflow: visible;
}
.layui-form-select {
position: absolute;
top: 0;
left: 0;
}

贤心 任务状态待办的 修改为已完成

如果表格里的select需要带搜索怎么搞呀

2.8中的下拉框允许搜索。和上面2.7代码一样,只需要给seclect加上lay-search

表格的行是动态添加的话貌似还是无效?

下拉框选项 可以根据行数据的某个字段去控制显不显示或者可不可选吗

我一直使用django 和 layui,但最近有个问题难住我了,django的模板语言也有{{}}标签,如果在html中使用layui的template语法如,{{#...}},会被django解析,导致无法在table中使用dropdown组件,请问有什么解决方案吗

太感谢了,layui太贴心了。

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(13)
347163 lsl1618 1578920825 92529 sentsin 1578917144 603834 qikaa 1651194939 5556588 guanguanhan 1632563000
加载更多
JavaScript
1
https://gitee.com/layui/layui.git
git@gitee.com:layui/layui.git
layui
layui
layui

搜索帮助