热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Vue列表如何实现滚动到指定位置样式改变效果

这篇文章主要介绍了Vue列表实现滚动到指定位置样式改变效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

这个需求大概是这样子:

我做的一个聊天Demo,在搜索框搜索用户,可以滚动到指定的用户。然后成选中状态。

这是目前状态,我搜索南宫仆射 ,想要下面的用户列表直接滚动到南宫仆射并改变CSS样式。

查询之后是这个子:

嗯,我的思路:

在搜索框搜索到用户之后会返回一个用户对象,之后会调用列表的点击事件,改变CSS样式及做一些聊天的逻辑。然后需要获取到列表对应的id值,直接使用 document.getElementById(it).scrollIntoView();

具体实现:

列表:使用vue的v-for指令 ,这里的id值使用的是遍历的索引值,外层是一个自定义滚动条组件。样式也是使用vue指令,一个语法糖。


      
  • {{item.name}}

  • 搜索框:这里使用带提示的输入框,

    
          
         

    JS代码:请求为get请求的axios封装,hr为查询返回的对象,hrs为所有的列表对象。

    SearchCurrentSession() {
        this.getRequest("/chat/?name=" + this.SearchHr).then(resp => {
         if (resp) {
          this.hr = resp;
          this.SearchHr = '';
          this.changeCurrentSession(this.hr);
          let it = 0;
          this.hrs.forEach((item, index) => {
           if (item.name == this.hr.name) {
            it = index;
           }
          })
          document.getElementById(it).scrollIntoView();
          // document.getElementsByClassName("active")[0].scrollIntoView();
    
         }
        });
     changeCurrentSession(currentSession) {
        this.$store.commit('changeCurrentSession', currentSession)
       },

    页面全部代码:

    
    
    
    
    

    总结

    到此这篇关于Vue列表实现滚动到指定位置样式改变的文章就介绍到这了,更多相关Vue列表实现滚动到指定位置样式改变内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


    推荐阅读
    author-avatar
    28划生12_928
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有