微信小程序支持的所有场景值id(表格)

本文详细列举了微信小程序的各种启动场景及对应的场景值,并介绍了如何在小程序的生命周期方法中获取这些场景值,帮助开发者更好地理解用户是如何进入小程序的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础库 1.1.0 开始支持,低版本需做兼容处理

当前支持的场景值有:

场景值ID说明
1001发现栏小程序主入口,“最近使用”列表(基础库2.2.4版本起将包含“我的小程序”列表)
1005顶部搜索框的搜索结果页
1006发现栏小程序主入口搜索框的搜索结果页
1007单人聊天会话中的小程序消息卡片
1008群聊会话中的小程序消息卡片
1011扫描二维码
1012长按图片识别二维码
1013手机相册选取二维码
1014小程序模版消息
1017前往体验版的入口页
1019微信钱包
1020公众号 profile 页相关小程序列表
1022聊天顶部置顶小程序入口
1023安卓系统桌面图标
1024小程序 profile 页
1025扫描一维码
1026附近小程序列表
1027顶部搜索框搜索结果页“使用过的小程序”列表
1028我的卡包
1029卡券详情页
1030自动化测试下打开小程序
1031长按图片识别一维码
1032手机相册选取一维码
1034微信支付完成页
1035公众号自定义菜单
1036App 分享消息卡片
1037小程序打开小程序
1038从另一个小程序返回
1039摇电视
1042添加好友搜索框的搜索结果页
1043公众号模板消息
1044带 shareTicket 的小程序消息卡片 详情
1045朋友圈广告
1046朋友圈广告详情页
1047扫描小程序码
1048长按图片识别小程序码
1049手机相册选取小程序码
1052卡券的适用门店列表
1053搜一搜的结果页
1054顶部搜索框小程序快捷入口
1056音乐播放器菜单
1057钱包中的银行卡详情页
1058公众号文章
1059体验版小程序绑定邀请页
1064微信连Wi-Fi状态栏
1067公众号文章广告
1068附近小程序列表广告
1069移动应用
1071钱包中的银行卡列表页
1072二维码收款页面
1073客服消息列表下发的小程序消息卡片
1074公众号会话下发的小程序消息卡片
1077摇周边
1078连Wi-Fi成功页
1079微信游戏中心
1081客服消息下发的文字链
1082公众号会话下发的文字链
1084朋友圈广告原生页
1089微信聊天主界面下拉,“最近使用”栏(基础库2.2.4版本起将包含“我的小程序”栏)
1090长按小程序右上角菜单唤出最近使用历史
1091公众号文章商品卡片
1092城市服务入口
1095小程序广告组件
1096聊天记录
1097微信支付签约页
1099页面内嵌插件
1102公众号 profile 页服务预览
1103发现栏小程序主入口,“我的小程序”列表(基础库2.2.4版本起该场景值废弃)
1104微信聊天主界面下拉,“我的小程序”栏(基础库2.2.4版本起该场景值废弃)

可以在 App 的 onLaunch 和 onShow 中获取上述场景值,部分场景值下还可以获取来源应用、公众号或小程序的appId。详见

Tip: 由于Android系统限制,目前还无法获取到按 Home 键退出到桌面,然后从桌面再次进小程序的场景值,对于这种情况,会保留上一次的场景值。

林羽凡小程序

<think>嗯,用户这次明确在找微信小程序表格组件使用教程和示例代码。根据对话历史,用户之前似乎已经看过一些组件库的引用资料,现在需要具体实现方案。仔细分析用户的需求:用户想要固定表头、自适应列宽、单元格点击这些特性。有意思的是,用户特别强调了“单元格级点击”,这确实比常见的行级点击更精细——看来ta在做一个需要精确交互的数据展示功能,可能是财务系统或管理后台?从引用的资料来看,有三处关键信息值得参考:1)Github上的自定义组件项目,功能点完全匹配用户需求2)组件封装时的父子通信方法3)官方没有现成表格组件的现状不过引用[4]提到的icon和text组件在这里不太相关,可以忽略。用户明显只需要表格解决方案,其他内容组件可能分散了注意力。考虑到用户要教程和代码,我决定从三个层面回应:基础使用部分先教最简实现,因为用户可能是新手;然后重点展示自定义组件方案,毕竟完全符合需求;最后补充官方表格方案作为替代选项——虽然功能有限但胜在稳定。注意到引用[1]的作者提到“在Github找过很多方案”,看来用户已经具备一定调研能力。所以示例代码我会写完整些,把prop传递、事件绑定这些坑都覆盖到。特别要说明单元格点击的实现技巧,用data-index传递行列信息这个法子新手可能想不到。用户没提样式需求,但斑马纹和表头固定属于基础体验,还是加进示例比较稳妥。自适应列宽就用flex:1处理最简单,专业用户后续可以自己优化。最后的问题设计要围绕延伸场景:性能优化和特殊交互可能是用户下一步会遇到的难点。跨端支持这个问题则是预防用户后期业务扩展——如果ta需要在小程序里做复杂表格,大概率会考虑兼容其他平台。</think> 根据引用内容,以下是微信小程序表格组件的详细使用教程和示例代码,结合固定表头、自适应列宽、单元格点击等核心功能: --- ### 一、基础表格实现 #### 1. WXML基础结构 ```html <!-- 表格组件 table.wxml --> <view class="table"> <!-- 固定表头 --> <view class="thead"> <view wx:for="{{columns}}" wx:key="index" class="th" style="flex: {{item.width || 1}}"> {{item.title}} </view> </view> <!-- 表格内容(带滚动) --> <scroll-view class="tbody" scroll-y> <block wx:for="{{dataSource}}" wx:key="id"> <view class="tr {{index % 2 === 0 ? 'even-row' : 'odd-row'}}"> <view wx:for="{{columns}}" wx:key="colIndex" class="td" style="flex: {{item.width || 1}}" bind:tap="handleCellTap" data-rowindex="{{index}}" data-colindex="{{colIndex}}"> {{item.render ? item.render(item, row) : row[item.key]}} </view> </view> </block> </scroll-view> </view> ``` #### 2. JS逻辑控制(核心功能) ```javascript // table.js Component({ properties: { columns: Array, // 列配置 dataSource: Array // 数据源 }, methods: { // 单元格点击事件 handleCellTap(e) { const { rowindex, colindex } = e.currentTarget.dataset; const row = this.data.dataSource[rowindex]; const column = this.data.columns[colindex]; this.triggerEvent('celltap', { row, column, rowIndex: rowindex, colIndex: colindex }); } } }); ``` #### 3. WXSS样式设计(关键样式) ```css /* 固定表头 */ .table { display: flex; flex-direction: column; height: 600rpx; } .thead { display: flex; background: #f5f7fa; position: sticky; top: 0; z-index: 10; } .tbody { flex: 1; overflow-y: auto; } /* 自适应列宽 */ .tr, .thead { display: flex; } .th, .td { flex: 1; padding: 16rpx; border-bottom: 1rpx solid #ebeef5; } /* 斑马线样式 */ .even-row { background-color: #fafafa; } .odd-row { background-color: #fff; } ``` --- ### 二、在页面中使用组件 #### 1. 注册组件 ```json // 页面json { "usingComponents": { "data-table": "/components/table/table" } } ``` #### 2. 页面调用示例 ```html <!-- 页面wxml --> <data-table columns="{{columns}}" dataSource="{{tableData}}" bind:celltap="onTableCellTap" /> ``` #### 3. 页面JS配置 ```javascript Page({ data: { columns: [ { title: '姓名', key: 'name', width: 1.5 }, { title: '成绩', key: 'score', // 自定义渲染函数 render: (column, row) => { return row.score > 90 ? `<text class="high-score">${row.score}⭐</text>` : row.score } }, { title: '操作', key: 'action', width: 2 } ], tableData: [ { id: 1, name: '张三', score: 95 }, { id: 2, name: '李四', score: 87 } ] }, // 单元格点击回调 onTableCellTap(e) { const { row, column, rowIndex, colIndex } = e.detail; wx.showToast({ title: `点击了第${rowIndex+1}行,${column.title}列`, }) } }); ``` --- ### 三、功能说明 1. **固定表头** 通过`position: sticky`实现表头固定,需配合`scroll-view`的纵向滚动 2. **自适应列宽** 使用`flex: {{item.width || 1}}`实现弹性布局,支持配置宽度的比例系数 3. **单元格点击** `data-*`传递行列索引,事件冒泡机制实现精准定位点击位置 4. **斑马线样式** 通过`:nth-child`奇偶选择器实现交替行背景色 5. **自定义渲染** `columns.render`支持函数式自定义单元格内容(支持富文本) --- ### 四、注意事项 1. 大数据量时建议使用`虚拟列表`优化性能 2. 复杂表头可通过嵌套`<view>`实现合并单元格效果 3. 列配置中的`width`值为相对比例(如设置`width: 2`表示两倍列宽) > 完整项目代码参考:[微信小程序表格组件 GitHub](https://github.com/[your-repo]) [^1] --- ### 相关问题 1. 如何实现微信小程序表格的横向滚动? 2. 大数据量下表格卡顿的优化方案有哪些? 3. 表格组件如何支持动态合并单元格? 4. 微信小程序表格如何导出为Excel文件? 5. 如何实现表头点击排序功能?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值