这个页面重新加载后都会出现这个问题,加载出来之后 无论怎么更换日期都不会再出现没有数据的情况。感觉是样式和数据加载延迟的问题,我这个需要在用户选择日期后根据这个日期去请求不同的时间点,有没有别的什么办法可以让样式延迟加载几秒 拿到数据后再渲染样式
picker 组件第一次点击不显示数据第二次再点击就有数据了这是为什么 后台请求的数据也可以看到,这个页面重新加载后都会出现这个问题。
我需要拿到当前日期当作条件才能去请求后台接口,我这个点击时间是写在外层<view>上 点击的时候去请求数据 再渲染到picker上。有大佬知道是为什么吗
点击的时候发起network,同时picker组件被触发了,picker渲染时range没有数据,故第一次为空,再次点击时第一次的network也返回数据了,显示的是第一次network的时间。
这里建议你初始化页面或组件的时候,如果不需要获取实时的数据,可以一次性请求整个月份的时间回来,没必要每次点击单独发起请求。
给picker 的range填写默认的初始化数据可解决
在父组件的时候调取一次,使用父传子的方法,子组件调用父组件的方法,在子组件点击时调用父组件的方法
这是react的写法,小程序的也是一样
我的解决方案是,在第一级页面比如是index,然后你的二级页面details有picker,在index页面绑定一个监听器,进入有picker的页面之前,通过监听器,通知details页面从后台获取数据,然后在二级页面的ready事件中再次渲染picker就解决了
我也遇到一样的问题~请问你解决了吗~
我遇到一个问题 和你这个有点类似 你解决了吗
个人感觉是接口数据还没有返回就触发picker了导致picker没有数据源,可否在加载页面的时候获取数据源呢
谢邀。
不要在点击了picker后才去拿range
<view class='{{flag == index ? "date-today" : "date-head" }}' id="{{index}}" bindtap="chickDate" data-bookTrainDate="{{item.isToday}}" data-driverSchoolNo="{{driverSchoolNo}}">
<picker mode="selector" bindchange="saveTime" data-saveCheck="{{item}}" data-dataTimeCheck="{{dataTime}}"
range="{{dataTime}}" disabled='{{app.indexOf(restList,item.isToday)?true:flase}}' data-driverSchoolNo="{{driverSchoolNo}}" >
{{item.dateNum}}
</picker>
</view>
有没有老板可以回答一下 我用了picker组件有好几个只有这个出现这种问题,是后台数据请求和前端页面渲染的时间差导致的吗,不应该啊 别的日期点的时候也是可以直接出数据,数据都是从后端拿到的