2.7K Star 16K Fork 3.6K

GVPLayui / layui

 / 详情

layui form select 下拉选择框缩进

已完成
创建于  
2023-06-03 09:20

版本号

2.8.3

问题描述

表单操作的时候要用的select选择分类,希望有子类的选项缩进,我用了最笨的办法,用了 ,选择了选项后 也会显示出来,很不美观,谢谢指教是否有什么好的办法,还是可以用layui 的 tree 实现select? 多谢大佬指教。。。

业务代码

function queryClassif(pid) { // 请求分类 后端接口
let url = '{:url("getListsCategoriesLayuiTable")}';
layObj.get(url,function (res) {
queryTree(res,pid)
});
}

function queryTree(res = [],pid = 0) {
// 请求分类 后端接口
let temps = '<option value="0">--根目录--</option>';
let separr = ['-| ','&nbsp;&nbsp;&nbsp;&nbsp;-|&nbsp;','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-|&nbsp;','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-|&nbsp;'];

        let i =0;
        tree(res);//前端已经将pid为1的数据取出
        function tree(data){
            for (let item of data) {
                let separator = separr[i];
                if (item['id'] === pid){
                    temps += `&lt;option  data-id="${item['id']}" value="${item['id']}" selected&gt;` +separator+`${item["name"]}&lt;/option&gt;`
                }else{
                    temps += `&lt;option  data-id="${item['id']}" value="${item['id']}"&gt;` +separator+`${item["name"]}&lt;/option&gt;`
                }
                if (item['child'] &amp;&amp; item['child'].length &gt; 0) {
                    i ++;
                    tree(item['child']);
                }
            }
            i --;
        }
        $('#classif').html(temps)
        form.render('select');
    }

其他补充

输入图片说明输入图片说明输入图片说明

友好承诺

我承诺将本着相互尊重、理解和友善的态度进行交流,共同维护 Layui 良好的社区氛围。

评论 (11)

lyyybc 创建了任务

试试css内边距padding

直接加到那里好像不管用, layui解析后会去掉样式,只能在layui的样式基础上调整,

如果能根据选项层级来指定不同的class就好了

用下拉菜单 或者 把 换成 中文空格

示例

参考上面的示例,在原始 option 上标记 level, 然后在打开 select 时根据 level 渲染美化后 option 的缩进
输入图片说明

你也可以参照 tree 用伪元素绘制线条的方法,在不同的 level 上添加特定的类,以实现更好的视觉效果
输入图片说明

感谢,现在还不会这样的美化,只会在原有基础上添加点东西修改修改, :flushed:

只需要把原来添加空格的逻辑,改成添加 data-level="空格数量"

输入图片说明
感谢大侠帮助, 太棒了, 学习了一招,原来是这样修饰 太感谢了 :smiley:

注意兼容性,这种做法不支持 IE

嗯, 现在不用IE了,可以稍稍封装下然后一调用就行, 太好了 :blush:

贤心 添加了
 
精华
标签
贤心 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(4)
347163 lsl1618 1578920825 7407590 starsatdawn 1700900251
JavaScript
1
https://gitee.com/layui/layui.git
git@gitee.com:layui/layui.git
layui
layui
layui

搜索帮助

53164aa7 5694891 3bd8fe86 5694891