通常我們在頁面跳轉傳遞過來的參數要用到頁面渲染時或是請求接口回來的數據要用到頁面渲染時
對page的data賦值可不能用簡單的變量賦值,要用微信小微信專有的this.setData方法
Page({ /** * 頁面的初始數據 */ data: { radioItems: [ // {modeId:1, modeName: '加強洗', time:'30分鍾',modeTime: 30, platformPrice:500}, // {modeId:2, modeName: '標准洗', time: '30分鍾', modeTime: 30, platformPrice: 400}, // {modeId:3, modeName: '快速洗', time: '30分鍾',modeTime: 30, platformPrice: 300}, // {modeId:4, modeName: '單脫水', time: '30分鍾',modeTime: 30, platformPrice: 100}, ] }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { // this.data.radioItems = JSON.parse(options.workModeAndPriceList); //錯誤賦值方法 // console.log("////////////", this.data.radioItems); this.setData({ radioItems: JSON.parse(options.workModeAndPriceList) }); }, /** * 生命周期函數--監聽頁面初次渲染完成 */ onReady: function () { // this.data.radioItems = this.data.radioItems console.log("----------------",this.data.radioItems); },
<view class="weui-cells weui-cells_after-title"> <radio-group bindchange="radioChange"> <label class="weui-cell weui-check__label" wx:for="{{radioItems}}" wx:key="index"> <radio class="weui-check" value="{{item.modeId}}" checked="{{item.checked}}"/> <radio class="weui-check" value="{{item.modeId}}" /> <view class="weui-cell__bd"> <view>{{item.modeName}}<text>{{item.modeTime}}</text></view> <view class='text'>{{item.modeTime}}</view> </view> <view class="weui-cell__ft weui-cell__ft_in-radio"> <view class='price'>{{item.platformPrice}}</view> <view class='ck'><icon class="weui-icon-radio" type="success_no_circle-1" size="16" wx:if="{{item.checked}}"></icon></view> </view> </label> </radio-group> </view> <view class="weui-btn-area"> <button class="weui-btn" type="primary" bindtap="showTopTips">確定</button> </view>
如圖,寫默認值 時可以正常顯示
使用js賦值方法,頁面for 循環毫無反映
正確使用this.setData方法