需求中每一行元素的数量是固定的吗,如果是的话您看下这种方式是否可以满足需求。
<template>
<view class="content">
<view
class="item"
:class="{'placeholder-dom':item.id===0}"
v-for="(item,index) in list"
:key="index">{{item.id}}</view>
</view>
</template>
<script setup>
import {ref} from 'vue'
const list = ref([])
for(let i = 0;i<11;i++){
list.value.push({
id:i+1,
})
}
if(list.value.length%3){
const num = 3-list.value.length%3
for(let i = 0;i<num;i++){
list.value.push({
id:0
})
}
}
</script>
<style>
.content{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}
.content .item{
width: 200rpx;
height: 200rpx;
margin-top: 20rpx;
}
.content .item:not(.placeholder-dom){
background-color: aqua;
}
</style>
只有翅膀 (作者)
非常感谢你的解答。但这种无法满足需求。 因为我是要做屏幕适配,数组长度不固定,且每行所拥有的元素数也不固定。所以才需要用到 父窗口宽度 / 元素的占位宽度 取整 来获得 每行到底应该有多少个元素。
2022-06-02 09:38
DCloud_UNI_WZF
回复 只有翅膀: 意思是在不同屏幕下,元素的宽度都是固定大小,所以 屏幕宽度不同,每行元素个数不同?
2022-06-02 09:48
只有翅膀 (作者)
回复 w***@dcloud.io: 是的。
2022-06-02 09:58