layui使用问题

文章详细描述了在使用layui框架时遇到的一些常见问题,包括动态表格的复杂表头处理,layDate时间控件的显示问题,数据表格的空列,msg信息框的抖动,tab后出现滚动条,以及进度条设置显示百分比的问题,并提供了相应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.layui动态表格的复杂表头

在这里插入图片描述

使用layui动态表格时,用到复杂表头,如果colspan=1时,会出现一例空白列,根本问题应该是layui 在复杂表头时, colspan 必须大于1,解决办法是,修改colspan为2,然后添加一列空白列{title: ‘’, field:‘’, hide: true}

table.render({
  elem: '#table-contract-list',
    data: contract_goods_data,
    defaultToolbar: [],
    limit: '30',
    page: true,
    skin: 'line',
    cols: [[
        {type: 'numbers', rowspan: 2,},
        { title: '复杂表头', align: 'center', colspan: 2 },
    ],
    [
        {
            field: 'test-col', title: '表头1/表头2', align: 'center', templet: function (d) {
                return '<a>' + d.old_supply_price + ' / ' + d.old_model_price + '</a>';
            }
        },
        { title: '', field: '', hide: true },
    ]]
    , done: function () {
        layer.closeAll('loading');
    }
});

colspan为1
在这里插入图片描述

2.layUI-layDate时间控件点击闪烁或显示位置不合理


layui.use('laydate', function(){
	var laydate = layui.laydate;
	//执行一个laydate实例
	laydate.render({
		 elem: '' //指定元素
		,trigger: 'click' //自动弹出控件的事件,采用click弹出
	});
});

选中时间后的事件回调

laydate.render({
    elem: '#dateRange',
    theme: '#1E9FFF',
    trigger: 'click',
    done: function (value, date) {
        $("#search").trigger("click");
    }
});

3.数据表格最后出现空列

在这里插入图片描述

在这里插入图片描述
解决方法

1、在done函数中增加样式

$('.layui-table').css("width", "100%");

done: function (res, curr, count) {
  $('.layui-table').css("width","100%");
  $("th[data-field='bar']").css("border-right",'none');
}

2.修改css样式

.layui-table-view .layui-table {
    width: 100% !important;
}
 
.layui-table th {
    text-align: -webkit-center !important;
}

4.layer.msg()抖动问题

layer.msg("msg信息框", function () {
	// do somethings..
});

处理

layer.msg("msg信息框", { shift: -1, time: 1000 }, function () {
	// do somethings..
});

使用抖动可以做抖动提示

layer.msg('抖动提示', {
    //1:正确;2:错误;3:询问;4:锁定;5:失败;6:成功;7:警告;16:加载
    icon : 7,
    offset : 0,
    shift : 6, //抖动效果
    time : 3000
});

5.layui使用了tab后操作出现滚动条

layui部分原生样式为overflow: scroll或者overflow: auto
当页面进行操作比如点击下拉时页面内容出现改变可能导致出现滚动条
在这里插入图片描述

.layui-tab-item.layui-show{
    overflow: hidden;
}

6.layui使用进度条设置展示百分比不展示问题

在这里插入图片描述

在文档中只标识通过对父级元素设置属性 lay-showPercent=“yes” 来开启进度比的文本显示


let saveRate = 0, fun;
let show = layer.open({
    area: ['420px', '370px'],
    title: '保存进度',
    content: progress.innerHTML, 
    success: function (layero, indexProgress) {
        fun = setInterval(function () {
            element.progress('saveProgress', saveRate + '%');
            element.render('progress')
            if (saveRate >= 100) { 
                clearInterval(fun);
                /* 关闭进度条弹窗 */
                layer.close(show);
                layer.msg('保存成功',{icon:1})
                /* 关闭选择渠道以及合同得弹窗 */
                layer.close(index)
            } else {
                saveRate = saveRate + 10;
            }
        }, 500)
    },
    end: function () {
        element.progress('saveProgress', '0%');
        element.render('progress')
        clearInterval(fun);
        layer.close(index)
    }
});

7.下拉提示后进行切换

layui交互,在惦记切换时数据已经进行切换,在点击时赋值未修改的数据,进行交互后重新赋值


form.on('select(channel_name)', function (data) {
   if (isSaveChannel) {
       layer.alert('请保存当前修改', { icon: 2 })
       layui.form.val('searchForm', { channel_name: cur_channel_id })
       return
   }
   cur_channel_id = data.value
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值