GithubHelp home page GithubHelp logo

Comments (7)

jarmywang avatar jarmywang commented on June 25, 2024 1

@michaellee123 当前问题已修复,下个版本带上,解决的整体思路是减少data与setData的数据量,避免非必要计算和setData,再次感谢你的探索与建议,我一开始理解有偏差,给你道歉🫡,希望后续使用tdesign能更加愉快,有问题及时反馈,我们认真跟进😁

from tdesign-miniprogram.

github-actions avatar github-actions commented on June 25, 2024

👋 @michaellee123,感谢给 TDesign 提出了 issue。
请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

from tdesign-miniprogram.

jarmywang avatar jarmywang commented on June 25, 2024

应该是数据太大导致内存压力过大,技术层面优化空间不大,可以考虑从产品层面优化,比如改成3级,后面手动输入

from tdesign-miniprogram.

michaellee123 avatar michaellee123 commented on June 25, 2024

应该是数据太大导致内存压力过大,技术层面优化空间不大,可以考虑从产品层面优化,比如改成3级,后面手动输入

不是这个问题,单纯就是你们代码实现上有问题,我看了每次点击之后都有有一个setData的过程,这里setData每次都放进去了完整的json,但是实际上,比如说我选择第一层,setData只需要设置第二层就行了吧,特别是到最后一层,已经筛选到只剩几个item了,但是setData这里log报的是数据有3mb多。我后来换用微信自带的picker-view和picker-view-column组合使用,一点儿问题都没有。

我觉得一个级联选择器连最基本的全国省市区数据都做不到的话,建议把这个组件直接删除比较好,免得浪费大家的时间。就这么一个一兆多点的json,能让腾讯的人说出技术层面优化空间不大,总显得有些可笑。

from tdesign-miniprogram.

michaellee123 avatar michaellee123 commented on June 25, 2024

我排查了一下,一共有两个地方存在性能问题,都是数据结构的问题:

  1. radio-group 应该将check标记和原始数据分开,每次点击之后,选中效果的界面展示会设置一次完整数据,然后在展示第二层的时候还会设置一次三级的数据,但是只是更新界面显示和结果的话,只需要记住check的index就可以了;
  2. cascader items应该分开做多个数据例如:items0, items1, items2,而不是items[0], items[1], items[2],每次设置后面的数据的时候,都会把前面的数据再设置一次,但是实际上这里的数据并没有变化,根本不需要设置;

把这两个东西改掉,这个性能问题就解决了。

from tdesign-miniprogram.

jarmywang avatar jarmywang commented on June 25, 2024

@michaellee123 感谢反馈,我们再看下

from tdesign-miniprogram.

michaellee123 avatar michaellee123 commented on June 25, 2024

@michaellee123 当前问题已修复,下个版本带上,解决的整体思路是减少data与setData的数据量,避免非必要计算和setData,再次感谢你的探索与建议,我一开始理解有偏差,给你道歉🫡,希望后续使用tdesign能更加愉快,有问题及时反馈,我们认真跟进😁

我的态度也不太友好,给你点赞👍

from tdesign-miniprogram.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.