layui解决table页内容显示过长的问题

在写一些table列表页的时候,总会出现一些数据长度过长导致显示不规范的问题

如下:

layui解决table页内容显示过长的问题_第1张图片

 id为26的这一行,前两项文字过长,导致最后一列的按钮被挤到了第二行

解决方案:

        指定显示长度,让每一列只占一行.然后被隐藏的名字,鼠标悬浮的时候就显示全名

后端:

        前端也可以显示显示长度,这里,通过后端处理数据

//$list为查询出的列表数据,进行foreach遍历,保留name和cname的原始数据,将变化之后的数据塞入新数里面
foreach($list as $key => $value){
    $list[$key]['name1'] = $list[$key]['name'];
    $list[$key]['cname1'] = $list[$key]['cname'];
            
    //对名字进行判断
    if(strlen($list[$key]['name']) > 32){
        $list[$key]['name1'] = substr($list[$key]['name'],0,32).'...';
    }
    //对储值卡进行处理
    if(strlen($list[$key]['cname']) > 32){
        $list[$key]['cname1'] = substr($list[$key]['cname'],0,32).'...';
    }


}

前端html:

       只需将原来的td项添加上类属性,并且将后端传过来的原值,添加上格外的属性里面

{$vo.name}
{$vo.cname}

前端js:

$(function () {
    var tips;
    $(".icon-combined-shape-copy").on({
        mouseenter: function () {
           var name = $(this).attr('id_value');
           //console.log(name)
           var that = this;
           tips = layer.tips(""+name+"", that, { tips: [2, '#fff'], time: 0, area: 'auto', maxWidth: 500 });
        },
       mouseleave: function () {
          layer.close(tips);
       }
    });
        
})

获取了属性之后,即可将值塞入要显示的tips里面

显示效果:

layui解决table页内容显示过长的问题_第2张图片

 

你可能感兴趣的:(layui,前端,javascript)