美文网首页
iview 老版本合并单元格

iview 老版本合并单元格

作者: 黎明的叶子 | 来源:发表于2023-05-18 16:32 被阅读0次

    新版的iview中已经支持了合并单元格了,我的版本比较老,为:"iview": "^3.5.2"。暂不支持。记录一下别的大佬的方法。感觉思路比较活,正在这种思路需要在解决问题的过程中学习。

    核心思路:通过render方法,加上设置样式实现看似合并单元格。
    代码如下:

    data数据

    dataList = [
            {
                index: '1',
                indexName: 'a',
                rate: '35%',
                standard: '描述11111',
                list: [
                    { info: "规则1", score: "100" },
                    { info: "规则2", score: "80" },
                    { info: "规则3", score: "60" },
                    { info: "规则4", score: "40" },
                ]
            },
            {
                index: '2',
                indexName: 'b)',
                rate: '30%',
                standard: '描述2222'',
                 list: [
                    { info: "规则1", score: "100" },
                    { info: "规则2", score: "80" },
                    { info: "规则3", score: "60" },
                    { info: "规则4", score: "40" },
                ] 
            }, 
        ]
    

    列的数据,在此数据中通过render来控制

        columns: any[] = [
            {
                title: '序号',
                key: 'index'
            },
            {
                title: '指标',
                key: 'indexName'
            },
            {
                title: '权重',
                key: 'rate'
            },
            {
                title: '评分标准',
                key: 'standard'
            },
            {
                title: '详情',
                key: 'list',
                width: 250,
                render: (h, params) => { 
                    return h('div', {
                        attrs: {
                            class: 'subCol'
                        },
                    }, [
                        h('ul', params.row.list.map(item => {
                            return h('li', {}, item.info)
                        }))
                    ])
                }
            },
            {
                title: '分值',
                key: 'list',
                width: 100,
                render: (h, params) => {  
                    return h('div', {
                        attrs: {
                            class: 'subCol'
                        },
                    }, [
                        h('ul', params.row.list.map(item => {
                            return h('li', {}, item.score)
                        }))
                    ])
                }
            }, 
        ] 
    

    组件代码

    <Table :columns="columns" :data="dataList"  :loading="loading" border></Table>
    

    css

    .subCol>ul>li {
        margin: 0 -18px;
        list-style: none;
        text-Align: center;
        padding: 9px;
        border-bottom: 1px solid #ccc;
        overflow-x: hidden;
    }
    
    .subCol>ul>li:last-child {
        border-bottom: none
    }
    

    实现效果


    image.png

    参考网站:
    https://blog.csdn.net/weixin_34138139/article/details/88600460

    相关文章

      网友评论

          本文标题:iview 老版本合并单元格

          本文链接:https://www.haomeiwen.com/subject/hgowsdtx.html