更新记录
1.0.1(2025-12-23)
下载此版本
1.0.0(2025-12-23)
下载此版本
1.0.0(2025-12-23)
- 首次发布
- 支持触摸/鼠标滑动选择行列数
- 实时高亮显示选中区域
- 支持自定义网格尺寸(maxRows、maxCols、cellSize、cellGap)
- 支持自定义颜色(填充色、边框色、文字色)
- 支持显示/隐藏预览文字
- 提供 reset 方法重置选择状态
- 兼容 Vue2 和 Vue3
- 支持 App、H5、微信等小程序
平台兼容性
uni-app(3.6.15)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
√ |
√ |
√ |
- |
- |
- |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
tri-table-picker 表格行列选择器
一个用于 uni-app 的表格行列数选择器组件,提供图形化的表格尺寸设置 UI,类似 Word/Google Docs 插入表格时的交互体验。
特性
- 支持触摸滑动选择行列数
- 支持鼠标操作(H5 平台)
- 实时高亮显示选中区域
- 高度可定制(尺寸、颜色、圆角等)
- 支持 Vue2 和 Vue3
- 跨平台:App、H5、微信/支付宝/百度/字节跳动等小程序
安装
方式一:uni_modules 安装(推荐)
- 在 DCloud 插件市场 搜索
tri-table-picker
- 点击「使用 HBuilderX 导入插件」
方式二:手动安装
- 下载组件文件
- 将
uni_modules/tri-table-picker 目录复制到项目的 uni_modules 目录下
使用方法
基础用法
<template>
<tri-table-picker @select=""></tri-table-picker>
</template>
<script>
export default {
methods: {
(e) {
console.log(`选择了 ${e.rowCount} 行 ${e.colCount} 列`);
}
}
}
</script>
自定义网格尺寸
<tri-table-picker
:maxRows="6"
:maxCols="8"
:cellSize="36"
:cellGap="6"
@select=""
></tri-table-picker>
自定义颜色
<tri-table-picker
cellColor="#FFFFFF"
cellBorderColor="#E0E0E0"
selectedCellColor="#E8F5E9"
selectedBorderColor="#4CAF50"
textColor="#4CAF50"
@select=""
></tri-table-picker>
隐藏预览文字
<tri-table-picker
:showPreview="false"
@select=""
></tri-table-picker>
通过 ref 重置选择
<template>
<tri-table-picker ref="picker" @select=""></tri-table-picker>
<button @click="resetPicker">重置</button>
</template>
<script>
export default {
methods: {
(e) {
console.log(e);
},
resetPicker() {
this.$refs.picker.reset();
}
}
}
</script>
API
Props
| 属性名 |
类型 |
默认值 |
说明 |
| maxRows |
Number |
5 |
最大行数 |
| maxCols |
Number |
5 |
最大列数 |
| cellSize |
Number |
48 |
方块尺寸,单位 rpx |
| cellGap |
Number |
8 |
方块间距,单位 rpx |
| borderRadius |
Number |
6 |
方块圆角,单位 rpx |
| showPreview |
Boolean |
true |
是否显示 "m x n" 预览文字 |
| cellColor |
String |
#FFFFFF |
未选中方块填充色 |
| cellBorderColor |
String |
#E0E0E0 |
未选中方块边框色 |
| selectedCellColor |
String |
#E3F2FD |
选中方块填充色 |
| selectedBorderColor |
String |
#2196F3 |
选中方块边框色 |
| textColor |
String |
#333333 |
预览文字颜色 |
Events
| 事件名 |
参数 |
说明 |
| select |
{ rowCount: Number, colCount: Number } |
选择完成时触发(手指/鼠标抬起) |
Methods
| 方法名 |
参数 |
说明 |
| reset |
- |
重置选择状态,清除高亮 |
交互说明
- 触摸/点击:在网格区域按下开始选择
- 滑动/拖动:移动手指或鼠标,实时更新选中区域
- 抬起:松开手指或鼠标,触发
select 事件并返回选中的行列数
注意事项
- 组件使用
rpx 作为尺寸单位,会自动适配不同屏幕
- 在小程序中,组件需要放置在可滚动容器外,或设置
@touchmove.stop 防止滚动冲突
- nvue 页面暂不支持