feat(cf-table): 新增表格组件

新增 cf-table 组件,包含以下功能:
- 支持数据展示和列配置
- 提供表头和表体插槽功能
- 支持最大高度设置
- 实现粘性表头效果
- 提供空数据展示
- 包含完整的组件结构和样式
This commit is contained in:
zhengw
2026-01-09 13:59:05 +08:00
parent 8a3d3ac60e
commit 779ea81406
4 changed files with 157 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
<view class="table-box" style="max-height:{{maxHeight}}">
<view class="table table-sticky">
<view class="table-column-group">
<block wx:for="{{columns}}" wx:key="index">
<view class="col" style="width: {{item.width}}" />
</block>
</view>
<view class="tr">
<block wx:if="{{useTheadSlot}}">
<slot name="thead" />
</block>
<block wx:else>
<block wx:for="{{columns}}" wx:key="index">
<view class="th">{{item.title}}</view>
</block>
</block>
</view>
</view>
<view class="table table-content">
<view class="table-column-group">
<block wx:for="{{columns}}" wx:key="index">
<view class="col" style="width: {{item.width}}" />
</block>
</view>
<block wx:if="{{useTbodySlot}}">
<slot name="tbody" />
</block>
<block wx:else>
<view wx:if="{{data.length == 0}}" class="tr" style="height: 32px" />
<block wx:for="{{data}}" wx:key="index" wx:for-item="record">
<view class="tr">
<block wx:for="{{columns}}" wx:key="index">
<view class="td">{{record[item.dataIndex]}}</view>
</block>
</view>
</block>
</block>
</view>
</view>
<view wx:if="{{!useTbodySlot && data.length == 0}}" class="empty-data">暂无数据</view>