Vux: picker组件数据更新的时候跳动 和 picker中找到一处代码问题。

Created on 30 Jan 2018  ·  8Comments  ·  Source: airyland/vux

--------------------- 重点内容 ----------------------

在picker组件中,异步更新数据(例如通过网络请求获取的picker数据内容)。每次在更新数据的时候,界面要跳一下。甚至连官方的demo中也会跳一下,那种从下面稍稍往上滑一点的跳动。请问有没有办法让它更新数据的时候不跳一下。

问题图示1:

12

问题图示2:

default

-------------------- 下面为次要内容 ---------------------

今天在解决上面的问题的时候发现picker组件中的一处问题。

问题描述:

在picker中定义了属性 itemClass
在渲染数据的render方法中new Scroller的时候传入的option对象中的itemClass使用的是:_this.item_class

问题所在:

不应该是_this.item_class 而是 _this.itemClass

图示:

_20180130170448

componenpicker

Most helpful comment

我这边也遇到了这个问题,回溯代码发现是render函数中的

    if (_this.currentValue) {
          _this.scroller[i].select(value[i])
        }

这段代码导致的。把它注释掉就不会闪动了。

All 8 comments

popup-picker 目前仅支持全量数据列表,因为不能确定新数据列表和旧数据列表的差别(列数,数量),所以是直接重新渲染,暂不支持部分更新。

恩,我是自己在一个组件里面用的popup嵌套的picker,不是直接使用的popup-picker组件。
在picker中我的数据格式是:

// ...
data () {
    return {
        pickerData: [ [1,2,3,4], [5,6,7,8] ,[9,10,11,12] ]
    }
}
// ...

所以一共就是三列显示, 并没有使用级联动那种数据格式。
不管旧数据是怎么样的,可不可以让重新渲染也不要有那一跳的效果啊。
default
或者怎么样才能杜绝那一跳的效果呀, 能不能帮我想一个解决方案呀。万分感谢
qq 20180130192133

popup-picker 是依赖于 picker 的,所以实现上是一致的。后面版本再考虑下如何实现重新渲染无跳动。

跳动的问题我也遇到,我尝试修复了一下

https://github.com/airyland/vux/pull/2896

我这边也遇到了这个问题,回溯代码发现是render函数中的

    if (_this.currentValue) {
          _this.scroller[i].select(value[i])
        }

这段代码导致的。把它注释掉就不会闪动了。

这个问题现在解决了吗

这个问题现在解决了吗

这个问题现在解决了吗

并没有

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ty850454 picture ty850454  ·  3Comments

GloriaCHL picture GloriaCHL  ·  4Comments

skyshirt picture skyshirt  ·  4Comments

525729985 picture 525729985  ·  4Comments

felixjing picture felixjing  ·  4Comments