景象形容:
list组件设置flex-direction: row之后,设置的高度height: 100px不失效,整个list高度会变的异样大。

问题代码如下:

<template>    <!-- Only one root node is allowed in template. -->    <div class="container">            <list style="background-color: red;flex-direction:row;height: 100px;">                <list-item type="list-item" for="listdata" style="background-color: green;">                    <image src="{{$item}}"></image>                </list-item>            </list>    </div></template><style>    .container {        flex-direction: column;        justify-content: center;        align-items: center;    }    .title {        font-size: 50px;        background-color: blue;    }</style> <script>    module.exports = {        data: {            componentData: {},            listdata: ['/Common/logo.png', '/Common/logo.png', '/Common/logo.png']        },        onInit() {        },    }</script>

问题截图如下所示:


问题剖析:
快利用中,当根节点div间接嵌套list组件时,根节点div设置flex-direction: column和list设置 flex-direction: row 时,list组件计大小会被屡次执行,最终传进来的值与代码中设置的值不统一。

解决方案:
可采纳以下写法,list上再包一层div,即可实现想要的成果,批改代码(红色局部)如下:

<template>    <!-- Only one root node is allowed in template. -->    <div class="container">        <div>            <list style="background-color: red;flex-direction:row;height: 100px;">                <list-item type="list-item" for="listdata" style="background-color: green;">                    <image src="{{$item}}"></image>                </list-item>            </list>        </div>    </div></template><style>    .container {        flex-direction: column;        justify-content: center;        align-items: center;    }    .title {        font-size: 50px;        background-color: blue;    }</style> <script>    module.exports = {        data: {            componentData: {},            listdata: ['/Common/logo.png', '/Common/logo.png', '/Common/logo.png']        },        onInit() {        },    }</script>

批改后效果图如下所示:


欲了解更多详情,请参见:

快利用list组件介绍:https://developer.huawei.com/...

原文链接:https://developer.huawei.com/...
原作者:Mayism