本篇文章给大家带来的内容是关于小程序组件:聊天会话组件的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
场景
用于在线客服的聊天对话等
一、布局圈点
1、三角箭头
绘制一个26rpx*26rpx矩形,使它旋转45度,然后隐去对半,形成气泡上的直角三角形。
!-- 画三角箭头 -- view >2、flex-flow改变流动方向
分别取值[ row | row-reverse ],实现对方发来的消息头像居左,自己发的消息头像居右。
view >3、按住说话悬浮层水平与垂直居中
方案1,js手工计算
data: { hud_top: (wx.getSystemInfoSync().windowHeight - 150) / 2, hud_left: (wx.getSystemInfoSync().windowWidth - 150) / 2, view >方案2,纯css
/*悬浮提示框*/ .hud-container { position: fixed; width: 150px; height: 150px; left: 50%; top: 50%; margin-left: -75px; margin-top: -75px; }经过对比,方案2要优于方案1
JS圈点
一、touch事件实现上滑取消语音输入
按下出现悬浮,上滑到超过一定位移出现取消提示,松手取消;上滑未超过,松手发送
touchStart: function (e) { // 触摸开始 var startY = e.touches[0].clientY; // 记录初始Y值 this.setData({ startY: startY, status: this.data.state.pressed touchMove: function (e) { // 触摸移动 var movedY = e.touches[0].clientY; var distance = this.data.startY - movedY; // console.log(distance); // 距离超过50,取消发送 this.setData({ status: distance 50 ? this.data.state.cancel : this.data.state.pressed touchEnd: function (e) { // 触摸结束 var endY = e.changedTouches[0].clientY; var distance = this.data.startY - endY; // console.log(distance); // 距离超过50,取消发送 this.setData({ cancel: distance 50 ? true : false, status: this.data.state.normal // 不论如何,都结束录音 this.stop(); },二、发送消息完毕滚到页尾
data: { toView: #39; #39; reply: { // ... this.scrollToBottom() scrollToBottom: function () { this.setData({ toView: #39;row_ #39; + (this.data.message_list.length - 1) },!--每一行消息条-- view >相关推荐:
小程序与后台进行交互的实现(附代码)
小程序实现自动加载的完整代码
以上就是小程序组件:聊天会话组件的介绍(附代码)的详细内容,更多请关注php中文网其它相关文章!
最佳 Windows 性能的顶级免费优化软件
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。