uView2.0 icon indicating copy to clipboard operation
uView2.0 copied to clipboard

calendar日历 模式为range 范围大约3个月 ,并且设置默认展示日期为当前时间,展开的时候滚动到位置不准确

Open jiahui336 opened this issue 2 years ago • 3 comments

版本

2.0.36

转载链接

www.uviewui.com

重现步骤

minDate: ${year-2}-${month}-${date}, maxDate: ${year}-${month}-${date},

期望的结果是什么?

希望可以修复,我目前 // 这里需要另一个延时,因为获取宽度后,会进行月份数据渲染,只有渲染完成之后,才有真正的高度 // 因为nvue下,$nextTick并不是100%可靠的 uni.$u.sleep(1500).then(() => { this.getWrapperWidth() this.getMonthRect() })

实际的结果是什么?

实际滚动不到指定位置

jiahui336 avatar May 12 '23 09:05 jiahui336

我也遇到了这个问题,不过我采取了如下方式进行解决。

原因: 因为在 nvue (weex)下 getComponentRect 方法需要在节点渲染后调用才能获取正确的信息,而在 nvue 中 $nextTick并不是100%可靠的。 所以根据 vue 的生命周期特性,以及 weex 文档的建议。在updated生命周期回调函数中再次进行一次月份组件宽高的测量。即可解决问题

updated() { // #ifdef APP-NVUE this.$nextTick(() => { uni.$u.sleep(10).then(() => { this.getWrapperWidth() this.getMonthRect() }) }) // #endif },

douwzy avatar May 17 '23 02:05 douwzy

我用你这个解决了 但是我是写小程序啊 没写app不用nvue 为什么也生效了

HateCodeFrank avatar Jun 15 '23 02:06 HateCodeFrank

这个就不清楚了,不知道小程序的渲染机制是怎样的。

douwzy avatar Jul 20 '23 08:07 douwzy