更新记录

1.1.2(2025-08-08) 下载此版本

更新readme.md文件

1.1.1(2025-08-08) 下载此版本

修复bug

1.1.0(2025-08-08) 下载此版本

适配vue3

查看更多

平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

sl-table

一个支持Vue2和Vue3的高性能表格组件

特性

  • Vue2/Vue3兼容: 同时支持Vue2和Vue3环境
  • 表头合并: 支持多级表头和单元格合并
  • 单元格合并: 支持行合并和列合并
  • 自定义插槽: 支持单元格自定义内容
  • 响应式: 自适应不同屏幕尺寸
  • 虚拟滚动: 支持大量数据的分页加载
  • 样式自定义: 支持自定义单元格样式

兼容性

Vue版本 支持状态 说明
Vue 2.6+ ✅ 完全支持 使用Options API
Vue 3.0+ ✅ 完全支持 使用Options API,兼容Composition API

安装

# 将sl-table文件夹复制到项目的uni_modules目录下

基础用法

Vue3风格(推荐)

<template>
  <sl-table 
    :columns="columns" 
    :tableData="tableData"
    @cell-click="handleCellClick"
  >
    <!-- Vue3自定义插槽 -->
    <template #customSlot="{ row, cell }">
      <view class="custom-content">
        {{ row.customField }}
      </view>
    </template>
  </sl-table>
</template>

Vue2风格

<template>
  <sl-table 
    :columns="columns" 
    :tableData="tableData"
    @cell-click="handleCellClick"
  >
    <!-- VUE2自定义插槽 -->
      <template #customSlot="{ row, cell }">
        <view class="custom-slot">
          <text class="highlight">{{ row.customField }}</text>
        </view>
      </template>
  </sl-table>
</template>

## 高级用法

### 单元格合并

```javascript
tableData: [
  {
    name: '张三',
    info: {
      value: '合并单元格',
      rowspan: 2,  // 跨2行
      colspan: 1,  // 跨1列
      backgroundColor: '#f0f0f0',
      textColor: '#333',
      bold: true
    }
  },
  {
    name: '李四',
    info: {
      display: false  // 被合并的单元格设为不显示
    }
  }
]

自定义样式

tableData: [
  {
    name: {
      value: '重要数据',
      backgroundColor: '#ff6b6b',
      textColor: '#fff',
      bold: true
    }
  }
]

API

Props

参数 说明 类型 默认值
columns 表头配置 Array []
tableData 表格数据 Array []

Events

事件名 说明 回调参数
cell-click 单元格点击事件 { rowIndex, colIndex, value, cell }

Columns配置

参数 说明 类型 默认值
label 表头显示文本 String -
prop 对应数据字段 String -
width 列宽度 String 'auto'
slot 自定义插槽名 String -
children 子列配置 Array -

单元格数据配置

参数 说明 类型 默认值
value 显示值 Any -
rowspan 行合并数 Number 1
colspan 列合并数 Number 1
display 是否显示 Boolean true
backgroundColor 背景色 String '#fff'
textColor 文字颜色 String '#1A1A1A'
bold 是否加粗 Boolean false

兼容性处理

组件内部会自动检测Vue版本并进行相应的兼容性处理:

  • 生命周期钩子: 同时支持Vue2的destroyed和Vue3的unmounted
  • 事件声明: Vue3环境下自动添加emits声明
  • 响应式数据: 兼容两个版本的响应式系统

注意事项

  1. 在uni-app项目中使用时,确保已正确配置easycom
  2. 插槽语法
    • 请使用 <template #name="props"> 语法
    • 自定义插槽的作用域数据在两个版本中保持一致
  3. 样式使用scss编写,确保项目支持scss编译
  4. 组件会自动检测Vue版本并适配相应的插槽渲染方式

更新日志

v1.1.0

  • ✅ 新增Vue2/Vue3兼容性支持
  • ✅ 优化生命周期钩子处理
  • ✅ 改进事件系统兼容性

v1.0.0

  • ✅ 基础表格功能
  • ✅ 表头合并支持
  • ✅ 单元格合并支持
  • ✅ 自定义插槽支持

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议