vue 横向滚动样式&&$ref.scrollLeft初始化数据滚动位置

一、先说一下横向滚动样式:

<div class="everyone-wrap" ref="parent">
    <div class="everyone-cont">
       <dl v-for="(item, index) in shareData.top" :key="index">
            <dt>
               <van-image :src="item.pic">
                 <template v-slot:loading>                                //vant中loading图
                     <van-loading type="spinner" size="20" />
                 </template>
                 <template v-slot:error>
                     <img src="../../assets/img/wait-voice.png" alt />    //vant中error图
                 </template>
              </van-image>
           </dt>
           <dd>
                <p class="dd_title">标题{{ index }}</p>
                <p class="dd_text">这里是描述呀这里是描述呀这里是描述呀这里是描述呀这里是描述呀这里是描述呀这里是描述呀这里是描述呀</p>
           </dd>
        </dl>
    </div>
 </div>

css代码:
.everyone-wrap {
     width: 100%;
     overflow-x: scroll;
    .everyone-cont {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            float: left; // 使其脱离文档流 宽度为所有字元素的和
            min-width: 100%;
            padding-bottom: 20px;
            dl {
                 width: 180px;
                 margin: 0 34px 0 0;
                 float: left;
            }
    }
}

二、再说一下解决进来页面就让滚动条滚动:

刚开始我是做的

    mounted() {
           this.$nextTick(() => {
                this.$refs.parent.scrollLeft = ‘500‘;
            });
    },

然鹅,并没有卵用。查阅文档感觉应该是以下原因:

mounted 不会承诺所有的子组件也都一起被挂载。
如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted。

$nextTick  将回调延迟到下次 DOM 更新循环之后执行。
在修改数据之后立即使用它,然后等待 DOM 更新。
它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。

最后说下解决方法:

1.获取完数据之后  $nextTick中   this.$refs.parent.scrollLeft = ‘500‘;

2.updated: function() {
        this.$nextTick(function() {
            this.$refs.parent.scrollLeft = ‘500‘;
        });
    }

3.mounted中setTimeout(() => {
            this.$refs.parent.scrollLeft = ‘500‘;
        }, 100);4.在获取完数据之后:(感觉这才是$nextTick的正确打开方式)
this.$nextTick(function() {
            this.$refs.parent.scrollLeft = ‘500‘;
        });
 

原文地址:https://www.cnblogs.com/liAnran/p/12069953.html

时间: 2024-08-09 13:04:38

vue 横向滚动样式&&$ref.scrollLeft初始化数据滚动位置的相关文章

安卓自定义View文章数据滚动显示数值

本文已经在微信公众号[Android群英传]独家发表. 本文Github代码链接 https://github.com/AndroidMsky/RandomTextView 先看看X金APP的效果: 我们自己实现的效果: 接下来介绍一下我的自定义View RandomTextView的用法和原理 用法 考入 RandomTextView.java 只有200行绝对轻量方便. xml中定义: <com.example.liangmutian.randomtextview.view.RandomTe

在typeScript+vue项目中使用ref

因为vue项目是无法直接操作dom的,但是有时候开发需求迫使我们去操作dom. 两个办法,一个是很low的再引入jq,然后通过jq来操作,但是这样就失去了我们使用vue的意义, 可惜的是我曾经这样干过,而且当时觉得我就是个天才. 另一个就是添加ref属性,对ref进行操作. 好了完美解决. 很不巧,新项目用的是vue还是vue+typeScript的,直接,单纯的this.$refs.xxx不好用了,报错,识别不了,很尴尬. 经过不懈努力终于找到了在typeScript+vue(不要在意这两个前

asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)

自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供两种加载数据的方式,一种是分页,一种是滚动浏览器滚动条加载数据,分页功能我想大家都做得太多了,今天我与大家分享一下我用滚动条滚动加载数据,小生不才,还望各位大侠指教,呵呵~ 下面开讲: 首先说一下思路,我用的是Jquery,然后通过Jquery的ajax()方法通过 HTTP 请求加载远程数据来实现的,用到Jquery,首先要应用jquery.min.js类

Appium运行脚本初始化数据

class MyTestCase(unittest.TestCase): def setUp(self): desired_caps = {} #以下是初始化数据 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage'] = 'com.andro

3.使用OGG进程进行初始化数据

开始初始化数据的时候要满足下面的条件: 1.disable掉目标段表的外键约束 2.disable掉目标端表的触发器 3.删除目标段表的索引,加快初始化速度 4.目标端表结构创建完成 源端配置初始化抽取进程 GGSCI (db11) 72> edit params IHREMD1 Extract IHREMD1 ------------------------------------------------------------------- -- Initial Load extract f

【Vue】浅谈Vue不同场景下组件间的数据交流

浅谈Vue不同场景下组件间的数据“交流” Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完文档许多遍后,写起代码还是不免感到有许多困惑,因为我们不知道其中一些知识点的运用场景.这就是我写这篇文章的目的,探讨不同场景下组件间的数据“交流”的Vue实现 父子组件间的数据交流 父子组件间的数据交流可分为两种: 1.父组件传递数据给子组件 2.子组件传递数据给父组件 父组件传递数据给子组件——pro

在mysql中创建 oracle scott 用户的四个表及插入初始化数据

各表的字段的含义: (参考自:http://www.cnblogs.com/mchina/archive/2012/09/06/2649951.html) 1.  部门表:dept № 名称 类型 描述 1 DEPTNO NUMBER(2) 表示部门编号,由两位数字所组成 2 DNAME VARCHAR2(14) 部门名称,最多由14个字符所组成 3 LOC VARCHAR2(13) 部门所在的位置 2.  雇员表:emp № 名称 类型 描述 1 EMPNO NUMBER(4) 雇员的编号,由

vc 在edit控件中动态插入数据滚动显示

内存从网上论坛摘抄整理 思路:给控件设置多行属性,设置垂直滚动条,Auto Vscroll设置为true,放入文本后把插入点设置到末尾 pEdit->LineScroll(pEdit->GetLineCount()); 滚动条滚动到最下端 int len  = pEdit->GetWindowTextLength(); pEdit->SetSel(len,-1,true); //定位光标到内容末尾pEdit->ReplaceSel("12121212");

C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)

在构造体内初始化数据成员是最常见的方法. 例如: #include <iostream> using namespace std; class A { private: int i; string s; public: A(int ii,string ss){ //在构造函数体内初始化数据成员 i=ii; s=ss; cout<<"ctor:i="<<i<<",s="<<s<<endl; } /