鸿蒙js开发11 鸿蒙列表组件的宫格布局 原创

lsfzzf
发布于 2021-1-30 18:46
浏览
1收藏

鸿蒙列表组件<list>+<list-item>可以实现页面的滚动列表,但对页面布局进一步优化时发现<list>组件中css换行属性没有效果,且每一个<list-item>宽度默认占据上层组件宽度的100%,无法调整;

通过对模型驱动视图思想的思考,我们发现可以对数据结构进行优化实现鸿蒙列表的宫格布局效果

效果图:

鸿蒙js开发11 鸿蒙列表组件的宫格布局-鸿蒙开发者社区

视图及样式:

<div class="container">
    <list class="listdiv">
        <block for="{{datas}}">
            <list-item class="listitemdiv">
                <block for="{{$item}}">
                    <div class="boxdiv">
                        <text class="textdiv">{{$item}}</text>
                    </div>
                </block>
            </list-item>
        </block>
    </list>
</div>
.container {
    width: 100%;
    height: 1300px;
}
.listdiv{
    width: 100%;
    height: 100%;
}
.listitemdiv{
    width: 100%;
    height: 25%;
    border-bottom: 1px solid silver;
    display: flex;
    justify-content: space-around;
}
.boxdiv{
    width: 30%;
    height: 80%;
    border: 5px solid skyblue;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 10px;
    border-radius: 20px;
}
.textdiv{
    font-size: 50px;
    font-weight: bold;
    color: darkgrey;
}

 

业务逻辑层:

export default {
    data: {
        //将["","","","",""...]结构的数据转化为[["","",""],["",""],["","",""]...]结构
        datas:[["one","two"],
               ["three","four","five"],
               ["six","seven"],
               ["eight","nine","ten"]]
    }
}

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
1
收藏 1
回复
举报
2条回复
按时间正序
/
按时间倒序
六合李欣
六合李欣

对宫格布局的控制炉火纯青,继续分享吧

回复
2021-1-30 18:54:04
张荣超_九丘教育
张荣超_九丘教育

如果能把源代码打个包作为附件,那就更好啦^_^

回复
2021-1-30 19:13:22
回复
    相关推荐