raychenfj / ion-multi-picker

Multi Item Picker - An Ionic Custom Multi Picker Component
https://raychenfj.github.io/ion-multi-picker/
Other
236 stars 103 forks source link

Performance issuse when use as a city picker #18

Closed Charleschu8 closed 7 years ago

Charleschu8 commented 7 years ago

使用省份联动城市的时候发现如下问题: 1.宽度无法控制(城市名比较长的时候会显示不全),不能像ios那样自动适配(可以设置字体大小也可以), 2.当城市比较多时,加载组件的时候会卡顿、不流畅

:)

raychenfj commented 7 years ago

这个控件只是对Ionic2底层picker控件的封装,picker控件本身并无法动态修改选项,所以目前的做法都是全部load进来,并通过设置disabled来隐藏或显示

在之前的版本中我也发现column中options过多会导致性能问题,尤其是有及联关系时很明显 所以我已经把City Picker从用例中移除,暂时不建议用这个控件做 City Picker

所以很抱歉,这个性能问题短时间内没法解决,重写Ionic2 picker控件预估时间是2周+,还要看个人时间 欢迎 PR

raychenfj commented 7 years ago

@Charleschu8 I would like to keep this issuse open, see what I can do in coming days.

raychenfj commented 7 years ago

Hi @Charleschu8 请升级到1.1.0版本

  1. MultiPickerColumn 加入了 columnWitdh 属性,可以用来设置宽度
  2. 实现了动态加载,提升性能,只会加载符合条件的option
Charleschu8 commented 7 years ago

Hi @raychenfj 👍 回头测试下看看。顺便问一个问题,如果从网络上获取数据,那么options 参数如何赋值(也就是想实现动态加载选项,而不是在ts文件中预先固定值)?

raychenfj commented 7 years ago

@Charleschu8 如果你了解Angular2的话,最佳实践是Impletement OnInit,然后在ngOnInit方法中发送Http请求获取数据,然后可以根据response的数据生成对应的columns或options