• 小程序聊天界面滚到底部


    这里使用  scroll-view 组件展示聊天内容

    因为  croll-into-view   属性可以指定滚到指定位置

    1 <scroll-view class="msg-list" scroll-y="true" :scroll-into-view="scrollToView">       
    2     <view class="row" v-for="(row,index) in privateMassagerList" :key="index" :id='"message"+index'>
    3       //coding
    4 
    5     </view>
    6 </scroll-view>

    每条聊天消息的 id 为  message0,message1,message2,message3,.............

    使用了 Vuex 储存聊天信息,每次接收到消息更新到 Vuex 里面,watch 监听信息列表的改变,从而改变滚动条位置

     1  export default {
     2     data() {
     3       scrollToView: '',//滚动到元素位置
     4     },
        computed: {
          
    //信息列表
          privateMassagerList(){
            return *****
          }
        },
     5     watch:{
     6        'privateMassagerList':() => {
     7           this.$nextTick(() => {
     8              this.scrollToView="message"+(this.privateMassagerList.length-1)
     9           })
    10         },
    11    },    
    12  }

     分割线


    这是以前vue项目的用法

    <template>
      <div>
      <ul class="message-list" ref="list">
        <li v-for="msg in privateMassagerList"></li>
      </ul>
     </div>
    </template>
    
    <script>
    
    
    export default {
      computed: {
        //信息列表
        privateMassagerList(){
          return *****
        }
      },
      watch: { 
        'privateMassagerList': function () {
          this.$nextTick(() => { 
          const ul
    = this.$refs.list
          ul.scrollTop
    = ul.scrollHeight
        })
      }
    }
    </script>
    <style>
      .message-list{
        border: 1px solid #ccf;
        font-size: 16px;
        height: 400px;
        margin: 0;
        overflow-y: auto;
        padding: 0;
      }
    </style>
  • 相关阅读:
    姚明如何理财
    转:韩国“抢文化”与中国的“文化洁癖”
    转:关于IDL程序的发布
    GIS相关网站
    【转】:身为男人应做的十件事情
    转:关于稀少控制点下遥感影像纠正的主要研究成果
    转:E都市创业经历
    转载:OSSIM简介
    市场营销学课程
    C#中判断是否为数字&是否为整除(转)
  • 原文地址:https://www.cnblogs.com/buerwei/p/11898485.html
Copyright © 2020-2023  润新知