小程序 根据接口参数,判断页面显示 但是接口参数设置前页面已经显示了
时间: 2023-12-10 14:05:48 浏览: 32
如果需要在小程序中根据接口参数来判断页面显示,但是接口参数是在页面显示之后获取的,可以在页面显示之后通过 setData 方法动态设置页面的数据,从而实现页面的重新渲染。
具体实现可以在页面的 onShow 生命周期函数中获取接口参数,并通过 setData 方法动态设置页面的数据。例如:
```
Page({
data: {
param: null, // 接口参数
showComponent: false // 是否显示组件
},
onShow: function () {
// 获取接口参数
const param = wx.getStorageSync('param')
// 设置页面数据
this.setData({
param: param,
showComponent: true
})
}
})
```
这里使用了 wx.getStorageSync 方法来获取接口参数,因为在页面显示之前可能需要先从本地存储中获取接口参数。然后在 setData 方法中设置页面数据,从而实现页面的重新渲染。
在页面的 wxml 中可以使用 wx:if 或 hidden 属性来控制组件的显示和隐藏,例如:
```
<view wx:if="{{showComponent && param === 'xxx'}}">
<!-- 组件 A -->
</view>
<view wx:if="{{showComponent && param === 'yyy'}}">
<!-- 组件 B -->
</view>
<view wx:if="{{showComponent && param === 'zzz'}}">
<!-- 组件 C -->
</view>
```
这样,当页面显示之后获取到接口参数时,页面会根据接口参数重新渲染并显示对应的组件。