vue日记之可展开的消息气泡

项目小需求之聊天气泡可展开内容

  • 由于某些信息内容太长或者某种缘由必须分行输出,这就致使了有时候一个气泡占据了一整个聊天区域
  • 因此我打算实现一个在该气泡加载的时候判断其气泡长度,并在长度过长的状况下进行可展开的选择功能
  • 下面是实现截图


难点

  1. 动态获取控件并得到高度
  2. 动态定位可展开按钮
  3. 每次获取信息的时候必须循环遍历初始化

过程

  1. 先把循环展现的控件的key绑定为惟一值(很重要,后面功能实现不了浪费不少时间就是这个bug,搞得我心态爆炸
  2. 选择在哪一个事件进行循环遍历,这里我选择在了时间信息调整上(这个功能我之后可能会写日记,这是实现效果
  3. 给控件绑定个惟一值以后,经过id获取该控件,而且经过offsetHeight属性获取高度,判断过于200px就进行可展开选择
  4. 写个可展开的标签,而且经过上面控件获得的offsetWidth进行动态定位,而且赋予可展开该标签的功能
  5. 进行用户区分动态定位,这里是less样式

收获

  • 一个key值没绑定还得我一直扒原理一直调试获取消息过程的代码,头发都要无了,这个小细节特别重要,别像我同样给key值给个index,这点解决了就很好实现这个需求
  • 动态绑定的位置不是那么完美,这是由于个人总体样式没设计好,一个用了浮动,一个没用,因此我很差浮动定位,到时候有更好的再说吧