效果图

需求分析

见上图,该功能为常见对话面板。
需求:对话列表按照时间先后依次由上到下排列,每次发送对话内容之后,对话列表应始终在最新对话位置。

解决方案

注意:多方对话需要使用webSocket

<div class="input-box"><div class="btn-speak"><i class="icon material-icons" v-html="''"></i></div><a-input ref="input" placeholder="请输入..." v-model.trim="message" @keyup.13="sendMessage" /><div class="btn-words" :class="disposal.wordsStatus?'active':''" @click="openWords"><words-icon class="icon" /></div>
</div>// 发送对话
sendMessage(){... / 省略无法代码// 发送对话内容成功后清空输入内容this.message = '';...
}// 刷新对话消息
messageSocket(jqbh){if ("WebSocket" in window){var ws = new WebSocket("ws://10.20.10.190:9989/dispatch/handleMsg/" + jqbh);// webSocket收到推送信息ws.onmessage = function (evt){ //console.log("接收到的数据:");//console.log(evt);const data = evt.data;let message = JSON.parse(data).messageData;message.xxnr = JSON.parse(message.xxnr);// 添加信息this.mesList.push(message);// 对话面板滚动至最新消息位置this.setDialogueScroll();};} else{// 浏览器不支持 WebSocketalert("您的浏览器不支持 WebSocket,讲无法为您实时更新对话内容!");}
}// 滚动对话面板至最新内容
setDialogueScroll(){this.$nextTick(function(){const dialoguePanel = document.getElementById('dialogue');const dialogueList = dialoguePanel.firstChild;const list = dialogueList.firstChild;dialogueList.scrollTop = list.clientHeight - dialogueList.clientHeight;})
}

对话面板,发送对话之后滚动至最新内容处相关推荐

  1. 一款对话网页游戏-对话部分

    ##一款对话网页游戏–对话 function fontshow(obj,name){//obj是传过来的数据,name是用来区别别人或者自己 //想要实现一条一条出现的对话框,用for循环太快了,所以 ...

  2. BERT生成能力改进:分离对话生成和对话理解

    ©NLP论文解读 原创•作者 | 吴雪梦Shinemon 研究方向 | 计算机视觉 导读说明: NLP任务大致可以分为NLU(自然语言理解)和NLG(自然语言生成)两种,NLU负责根据上下文去理解当前 ...

  3. Unity根据文字内容自动滚动显示最新文字

    1.在Canvas下创建一个Scroll View. 2.在Scroll View的Content下创建Text. 3.在Content添加组件Vertical Layout Group.Conten ...

  4. 王者荣耀赛季更新服务器维护到什么时候,王者荣耀赛季更新到几点?s24维护公告最新内容一览[多图]...

    王者荣耀24赛季的停机更新会持续到什么时候?6月23日的更新维护还在进行中,玩家们现在时不能进入游戏的,等更新结束之后才能玩,具体更新的时间114小编会在下面分享给大家,还有这次赛季的更新内容各位也能 ...

  5. C# Aliyun OSS 获取Bucket列表异常:无法发送具有此谓词类型的内容正文

    前言 在用vs的NuGet工具安装Aliyun OSS SDK时,如果版本选择错了,当调用部分API时,例如ListBuckets().ListObjects()等 会提示异常:无法发送具有此谓词类型 ...

  6. 思科ei ccie认证体系最新内容下一代编址IPV6技术最全面的基础详解 从零到精通必读

    思科ei ccie认证体系最新内容下一代编址IPV6技术最全面的基础详解 从零到精通必读 IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协 ...

  7. Swift - 文本输入框内容改变时响应,并获取最新内容

    1,问题描述 有时我们开发的时候需要先把"确认"按钮初始设置为不可用,当文本框中输入文字以后,再将输入按钮变为可用. 2,实现原理 (1)要检测文本框内容的变化,我们需要让新界面的 ...

  8. Android recyclerview item获焦时更新UI导致列表自动滚动到获焦处

    问题场景描述:scrollview嵌套rv,rv item里有edittext,当edittext处于获焦状态时,item中有数据改变导致更新UI时,此时列表会自动滚动到获焦处. 分析原因:更新UI时 ...

  9. 【真的】git pull --all 或 git fetch --all取到自己本地所有分支的最新内容

    〇,问题背景 某项目,假如有100个分支. 我本地,有5个分支,a,b,c,d,e. 我经常需要取别人的最新,所以我现在只能: 先切换到a,然后取最新: 再切换到b,取最新 再切换到c,取最新 以此类 ...

  10. Android发送短信时 短信内容超长处理

    Android发送短信时 短信内容超长处理 一条短信只可容纳70个中文,所以当短信长度超过70个中文字符时程序就要特殊处理了. 通常有两种方式: 一.通过sendTextMessage()方法逐条依次 ...

最新文章

  1. 3月最新!2021中国内地大学ESI排名出炉:333所高校入榜全球前1%
  2. Nginx使用uninx socket来连接fastcgi(php)
  3. 分享一张SQLSERVER执行流程的图片
  4. Node.js学习之路09——Path基本介绍
  5. expressjs路由匹配规则
  6. pythonturtle怎么写_让Python的turtle命令更简短(译)
  7. Java程序员的工资为什么一直那么高?
  8. qpaint 在graphicsview上的qimage画一条线_solidworks2016画一个塑料外壳:用开放的草图进行切除,你会吗?...
  9. 中继(洪泛中继、定向中继)在无线通讯中的应用
  10. Spring Boot 开源软件都有哪些?
  11. 主流手机user-agent与支持图像尺寸对照表(联通的)
  12. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.17
  13. 第一百天 how can i 坚持
  14. 如何理解泊松分布(Poisson Distribution)
  15. 【金融手册】什么是本票、汇票、支票、银行承兑汇票、系统性、非系统性风险、巴塞尔协议、QDII...
  16. 美联航客机逃生门故障致乘客机舱过夜 承诺将赔偿
  17. c语言编程设计实验课件,c语言程序设计实验课件.ppt
  18. 【SSM - SpringMVC篇】03 - SpringMVC的参数绑定 - 参数自动绑定 - javabean对象参数绑 - 嵌套bean参数绑定
  19. 请大家帮忙看下这个shader的问题:
  20. 对透明表、簇表的理解

热门文章

  1. 高通处理器命名中文化
  2. 链队列基本运算的实现
  3. Node.js 教程第十四篇——Socket.io
  4. 信息安全产业爆发在即 十三五年均增长将达20%以上
  5. 任正非为什么向两千多年前的李冰父子学习?
  6. 深入理解JavaScript (5) —— 闭包
  7. python的logging日志
  8. 3.Docker技术入门与实战 --- 使用Docker镜像
  9. 4.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的基本功能
  10. 18.go 日志监控系统