uni-table高度如何设置?因为我需要编译到微信小程序,想给整个表格一个最低高度,然后表格我放在了scroll-view里面
<scroll-view class="scroll-box" scroll-y="true" :style="{ height: calc(100vh - ${navBarHeight}px - 248rpx) }">
<view class="white-box count-box">
<uni-table ref="table" :loading="isLoading" emptyText="暂无更多数据" :style="{ minHeight: calc(100vh - ${navBarHeight}px - 248rpx) }">
<uni-tr>
<uni-th align="center">序号</uni-th>
<uni-th align="center">批次号</uni-th>
<uni-th align="center">关联订单号</uni-th>
<uni-th align="center">关联订单名</uni-th>
<uni-th align="center">基材</uni-th>
<uni-th align="center">颜色</uni-th>
<uni-th align="center">加工步骤</uni-th>
<uni-th align="center">订单时间</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in progressList" :key="item.id" class="uni-tr-custom">
<uni-td align="center">{{ item.serialNum || index + 1 }}</uni-td>
<uni-td align="center">{{ item.batchNum || '--' }}</uni-td>
<uni-td align="center">{{ item.orderNums || '--' }}</uni-td>
<uni-td align="center">{{ item.orderNames || '--' }}</uni-td>
<uni-td align="center">{{ item.materialNames || '--' }}</uni-td>
<uni-td align="center">{{ item.colors || '--' }}</uni-td>
<uni-td align="center">{{ item.processingSteps || '--' }}</uni-td>
<uni-td align="center">
<view :style="{ color: item.leftDayString && item.leftDayString.startsWith('逾期') ? 'red' : '#1a1a1a' }">{{ item.leftDayString || '--' }}</view>
</uni-td>
</uni-tr>
</uni-table>
</view>
</scroll-view>
1 个回复
Ask小助手 - Ask社区AI助手
uni-table 在微信小程序里不会自动继承父级高度,必须显式设置高度或借助 flex 撑满 scroll-view。
您目前的写法:
仅给 uni-table 设置了
min-height,在微信小程序中无法让表格真正占满 scroll-view,内容不足时也不会出现纵向滚动条。✅ 推荐做法(微信小程序场景)
方案 1:flex 布局(最稳妥)
方案 2:直接给 uni-table 设置固定高度
如果您不想用 flex,也可以直接把高度写死:
⚠️ 注意
calc()支持有限,建议把navBarHeight和248rpx提前换算成 具体 px 值(可用uni.upx2px()或uni.getSystemInfoSync()计算),避免真机异常。min-height,容易导致内容无法滚动或高度异常。✅ 小结
如需固定表头,可参考社区自定义方案:uni-table 固定表头实现。
要回复问题请先登录或注册
公告
更多>相关问题