jd-opensource / jd-opensource/nutui

虚拟列表在第一屏渲染完scroll的时候会闪动,回退到之前渲染过的内容

Open
#2,137 0 comments 0 reactions 1 assignee Claimed by @szg2008 View on GitHub
Dominant language
Vue
Stars
6.5k
Forks
835
PR merge metrics
No merged PRs in 30d

Description

### NutUI scenes(nutui 场景)
小程序(@nutui/nutui-taro)

### NutUI-vue version(nutui-vue 版本)

4.0.2

### Vue version(vue 版本)
3.3.0-alpha.4

### Operating environment(运行环境)
dev:h5

### Citation method(引用方式)
npm

### Node version(node 版本)
17.8.0

### Browser and its version(浏览器及其版本)
106.0

### System and its version(系统及其版本)
MacOS

### Taro environmental information(taro 环境信息)
👽 Taro v3.6.1

Taro CLI 3.6.1 environment info:
System:
OS: macOS 12.2
Shell: 5.8 - /bin/zsh
Binaries:
Node: 17.8.0 - /opt/homebrew/bin/node
npm: 8.5.5 - /opt/homebrew/bin/npm
npmPackages:
@tarojs/cli: 3.6.1 => 3.6.1
@tarojs/components: 3.6.1 => 3.6.1
@tarojs/helper: 3.6.1 => 3.6.1
@tarojs/plugin-framework-vue3: 3.6.1 => 3.6.1
@tarojs/plugin-html: 3.6.1 => 3.6.1
@tarojs/plugin-platform-alipay: 3.6.1 => 3.6.1
@tarojs/plugin-platform-h5: 3.6.1 => 3.6.1
@tarojs/plugin-platform-jd: 3.6.1 => 3.6.1
@tarojs/plugin-platform-qq: 3.6.1 => 3.6.1
@tarojs/plugin-platform-swan: 3.6.1 => 3.6.1
@tarojs/plugin-platform-tt: 3.6.1 => 3.6.1
@tarojs/plugin-platform-weapp: 3.6.1 => 3.6.1
@tarojs/runtime: 3.6.1 => 3.6.1
@tarojs/shared: 3.6.1 => 3.6.1
@tarojs/taro: 3.6.1 => 3.6.1
@tarojs/webpack5-runner: 3.6.1 => 3.6.1
babel-preset-taro: 3.6.1 => 3.6.1
eslint-config-taro: 3.6.1 => 3.6.1

### Reproduction link(重现链接)
[nutui.jd.com/taro/vue/4x/](https://nutui.jd.com/taro/vue/4x/#/zh-CN/component/list)

### Steps to reproduce(重现步骤)
1、使用4.0.2版本的nutui;
2、使用虚拟列表,基于提供的demo,滚动到第二屏(即触发handleScroll),这时候会发现数字渲染到80~90左右,state更新后会重新闪动到60多。使用4.0.1版本没这个问题

### What is expected?(期望的结果是什么?)
虚拟列表能够正常使用,不会闪动、回退渲染之前的内容

### What is actually happening?(实际的结果是什么?)
闪动并渲染之前的内容了

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.