使用 scroll-view 配合uni.createSelectorQuery() 以及boundingClientRect()即可实现;

<scroll-view id="scrollview" class="chat-window" scroll-y="true" :style="{height: style.contentViewHeight + 'px'}":scroll-with-animation="true" :scroll-top="scrollTop"><view class="content-all"><block v-for="(item,index) in messages" :key="index" class="m-item"><view class="user-chat-item animated fadeIn fast u-f right" v-if="globalUser.id==item.fromUserId"><view class="meet-name fb">{{item.msg}}:{{globalUser.name}}</view></view><view class="user-chat-item animated fadeIn fast u-f left" v-else><view class="meet-name fb">{{name}}:{{item.msg}}</view></view></block></view><view id='gundong' style='height:1px;width:100%'></view></scroll-view>

使用生命周期函数

        mounted() {uni.createSelectorQuery().select("#gundong").boundingClientRect((res) => {this.oldbottom = res.bottom // 记录 滚动 元素的 bottom 值console.log(this.oldbottom)}).exec();},updated() {setTimeout(() => {uni.createSelectorQuery().select("#gundong").boundingClientRect((res) => {console.log(res)var newbottom = res.bottomif (Number(newbottom) > Number(this.oldbottom)) {this.scrollTop = newbottom}this.oldbottom = newbottomconsole.log(this.oldbottom)}).exec();}, 400)},created() {const res = uni.getSystemInfoSync(); //获取手机可使用窗口高度     api为获取系统信息同步接口this.style.pageHeight = res.windowHeight;this.style.contentViewHeight = res.windowHeight - uni.getSystemInfoSync().screenWidth / 750 * (30) - 60; //像素   因为给出的是像素高度 然后我们用的是upx  所以换算一下 this.scrollToBottom(); //创建后调用回到底部方法},

一定要加 setTimeout(() => {},400 ) 这样消息才会最下面

好像是让页面全部加载完毕之后  只能自己通过 定时 达到异步的效果

看了好多博客 总是差一点  最后结合了 好几篇的结果

样式的话 自己写下吧  我用了全局样式

<style>.left {flex-direction: row;}.right {flex-direction: row-reverse;}.meet-name {padding: 10upx 20upx;font-size: 28upx;/* margin-bottom: 20upx; */}.login-bottom {position: fixed;bottom: 0;}.login-bottom-input {display: flex;justify-content: space-between;}.login-bottom-input>input {background: #F7F9FF;border-radius: 28upx;width: 568upx;height: 62upx;margin: 30upx;color: #999999;font-size: 13px;padding-left: 20upx;}.login-bottom-input>text {color: #2774CB;font-size: 18px;height: 80upx;line-height: 80upx;padding-right: 20upx;padding-top: 20upx;font-weight: bold;}.demoList {text-align: center;line-height: 100upx;}</style>

uniapp + vue 定位聊天最新消息 实现滚动条一直在元素的最底部相关推荐

  1. 关于uniapp开发微信小程序,实现聊天消息,最新消息最底部展示

    关于uniapp开发微信小程序,实现聊天消息最新消息最底部展示 实现消息最底部展示 uniapp\vue 页面布局 此处我觉得最要注意的点就是看是谁产生的滚动条. 逻辑书写 关键字: scrollTo ...

  2. vue+websocket+nodejs实现聊天室 - 消息已读未读

    前言 上一篇讲了聊天室增加一对一单聊,这次讲如何新增已读未读状态. 大概思路: 服务器返回消息列表,增加参数status为1,单聊和群聊通过过滤状态区分对应未读数量,当前聊天,直接在currentMe ...

  3. vue php聊天室,实时聊天室:基于Laravel+Pusher+Vue通过事件广播实现

    之前有说过要整理出一篇事件广播的教程,今天终于有时间把这篇文章给写了出来,本次的教程是基于Laravel+Pusher+Vue,以事件广播作为核心技术,让你可以快速搭建起一个实时聊天室应用,话不多说, ...

  4. uniapp仿微信--聊天界面模板

    项目演示 前言 我是看B站的视频一个一个敲的,讲的还不错.可以去看看vue+node.js即时通讯聊天室APP开发前端篇 主界面 chat.vue <template><!-- 聊天 ...

  5. 流集数据收集器最新消息

    最新消息 3.10.0 中的新增功能 数据收集器版本 3.10.0 包括以下新功能和增强功能: 起源 此版本包括以下新源: Groovy 脚本 - 运行 Groovy 脚本以创建数据收集器记录. 脚本 ...

  6. 魔兽世界怀旧服最新服务器开发时间,怀旧服开70最新消息汇总 魔兽怀旧服TBC开放时间几个阶段?...

    很多玩家关心魔兽世界怀旧服开70最新消息进展的情况,到底魔兽怀旧服TBC开放时间几个阶段.在这里就做一个关于暴雪可能开TBC的时间. 最早的时候,暴雪已经向当今的许多玩家发送了一份有关70级的tbc怀 ...

  7. 基于vue前端聊天插件_基于Vue聊天的实现

    基于vue前端聊天插件 基本视频聊天 (basic-vue-chat) Easy to use VueJS chat. 易于使用的VueJS聊天. 安装 (Installation) You can ...

  8. uniapp unipush接入个推消息推送(各种踩坑记录)安卓+IOS+在线消息+离线消息

    uniapp 消息推送功能实现 上周公司要求做一个消息推送的功能,由于现有的电商APP是用uniapp做的,所以优先考虑uniapp自带的unipush消息推送. ios证书导出踩坑 ios推送证书导 ...

  9. uni-app(Vue.js)创建运行微信小程序

    uni-app(Vue.js)创建运行微信小程序 1.全局安装 npm install -g @vue/cli 需要安装node,官方网站,否则提示npm不可用 2.创建uni-app 新建文件夹,选 ...

最新文章

  1. linux 7 vsftpd 配置,CentOS7 安装并配置使用vsftpd
  2. c++ vector向量直接赋值_vector-Jacobian product 解释 ---- pytorch autograd
  3. 重要提醒--to 小爱
  4. WPF绘制简单常用的Path
  5. 概率论 第四章 随机变量的数字特征
  6. XCTF-高手进阶区:web2
  7. unix高级编程apue.h问题
  8. html鼠标滑轮换图片,JavaScript实现鼠标滚轮控制页面图片切换
  9. Facebook史上最严重宕机:互联网企业是时候重新审视架构了?
  10. ZeroForums论坛正式开始测试运行
  11. 如何应对数据匮乏,试试冷启动阶段开发的风险评分
  12. Android Bitmap史上最详细全解 | 原力计划
  13. C# Chart详细解析
  14. fastjson笔记
  15. Qualcomm工具
  16. Codeforces 685B Kay and Snowflake(树形dp)
  17. 前端基础知识总结---HTML篇
  18. 抖音直播间千川投放有用吗?直播间投放分析有什么技巧
  19. ThinkPHP 导入的几种方法
  20. 物联网智能开关平台源码

热门文章

  1. 苏宁易购启动六一宝宝节,首提“共情消费”
  2. 温控器TK4S使用和报警参数设定
  3. [架构之路-202]- 常见的需求获取技术=》输出=》用户需求、客户需求(As...., I want.....)、用例图
  4. post与get区别
  5. vue项目打包部署(Linux命令)
  6. taro UI webpack5组件引入不起作用
  7. 消防工程师 2.2 自动喷水灭火系统-干式、雨淋、水幕、预作用
  8. java比较复数是否相等_通过重载运算符“= =”,实现判断两个复数是否相等的运算(若相等返回1,否则返回0)。重载前置“++”运算符,使虚部和实部分别加1。...
  9. appium最全安装指南
  10. tcp_tw_recycle和tcp_tw_reuse