- 选项卡如果实现点击才加载远程数据?
在同一页面我有3个选项卡。 第一个选项卡,我把读取数据库函数放在了onload中,打开即加载(已控制输出记录数)。 但第二个和第三个选项卡(分别读取不同的数据库)怎么才能实现点击切换才加载或者直接都放在onload加载(数据量可能过大)? js文件 // pages/index2/dataforu/dataforu.js Page({ /** * 页面的初始数据 */ data: { TabCur: 0, scrollLeft:0 }, tabSelect(e) { this.setData({ TabCur: e.currentTarget.dataset.id, scrollLeft: (e.currentTarget.dataset.id-1)*60 }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this;//把this对象复制到临时变量that const wxreq = wx.request({ url: 'https://***/data/glcj.php', data:{ //id:"1", //name:'Leanne Graham' }, success: function (res){ console.log(res.data); that.userData = res.data; //无效不能实时的渲染到页面 that.setData({ userData: res.data });//和页面进行绑定可以动态的渲染到页面 }, fail: function (res){ console.log(res.data); this.userData = "数据获取失败"; } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { return { title: '数据图表走势', path: 'pages/index2/dataforu/dataforu', success: function (res) { // 转发成功 }, fail: function (res) { // 转发失败 } } }, // 自定义分享朋友圈 onShareTimeline: function() { return { title: '数据图表走势', path: 'pages/index2/dataforu/dataforu', } } }) wxml文件 <!--数据看板--> <view class="cu-bar bg-white solid-bottom margin-top"> <view class="action"> <text class="cuIcon-title text-orange "></text> 数据看板 </view> </view> <scroll-view scroll-x class="bg-white"> <view class="cu-list grid col-red gridBorder"> <view class="cu-item flex-sub {{0==TabCur?'text-orange cur':''}}" bindtap="tabSelect" data-id="{{0}}" style="width:33%; height: 166rpx; display: flex; box-sizing: border-box; left: 0rpx; top: 0rpx"> <view class="cuIcon-hot text-red"> <view class="cu-tag badge"> <block>4.3</block> </view> </view> <text>全国成交</text> </view> <view class="cu-item flex-sub {{1==TabCur?'text-orange cur':''}}" bindtap="tabSelect" data-id="{{1}}" style="position: relative; left: 0rpx; top: 0rpx; width: 33%; height: 166rpx; display: flex; box-sizing: border-box"> <view class="cuIcon-hotfill text-red"> <view class="cu-tag badge"> <block>16.2</block> </view> </view> <text>全国库存</text> </view> <view class="cu-item flex-sub {{2==TabCur?'text-orange cur':''}}" bindtap="tabSelect" data-id="{{2}}" style="position: relative; left: 0rpx; top: 0rpx; width: 33%; height: 166rpx; display: flex; box-sizing: border-box"> <view class="cuIcon-rankfill text-red"> <view class="cu-tag badge"> <block>325.6</block> </view> </view> <text>杭州成交</text> </view> </view> </scroll-view> <view class="bg-white padding text-center {{0==TabCur}}" hidden="{{TabCur!='0'}}"> <view class="pageSapce"> <!--表格1--> <text>全国14日成交数据</text> <view class="divLine"></view> <view class="table "> <view class="tr thColor"> <view class="th">日期</view> <view class="th ">成交</view> <view class="th ">五日均价</view> </view> <view class="table-wrap"> <block wx:for="{{userData}}" wx:key="index"> <view class="tr"> <view class="td">{{item.date2}}</view> <view class="td">{{item.glcj}}</view> <view class="td">{{item.col3}}</view> </view> </block> </view> </view> </view> </view> <view class="bg-white padding text-center {{1==TabCur}}" hidden="{{TabCur!='1'}}"> 库存待开发 </view> <view class="bg-white padding text-center {{1==TabCur}}" hidden="{{TabCur!='2'}}"> 杭州成交 </view> 目前的效果图(第一个选项卡显示,第二、三选项卡求教设置) [图片]
2021-12-28 - 请教wx for 中弹出窗的传值方式?
JS中的弹窗函数 //弹窗 showModal(e) { this.setData({ modalName: e.currentTarget.dataset.target }) }, hideModal(e) { this.setData({ modalName: null }) }, WXML中的调用方式 <view wx:for="{{re}}" wx:key="re" class="search_result"> <!-- 当提交空白表单的时候 --> <view class="empty bg-red erro">{{item.empty}}</view> <!-- 当查询不到结果的时候 --> <view class="noresult bg-red erro">{{item.noresult}}</view> <!-- 当有搜索结果的时候 --> <!-- <view class="resname">{{item.xkzadd}}</view>--> <view class="cu-bar bg-white margin-top"> <view class="action"> <text class="cuIcon-title text-orange "></text> {{item.warehousename}} </view> <view class="action"> <button class="cu-btn bg-green shadow" bindtap="showModal" data-target="Modal" >详情</button> </view> </view> <view class="cu-modal {{modalName=='Modal'?'show':''}}"> <view class="cu-dialog"> <view class="cu-bar bg-white justify-end"> <view class="content text-red text-bold">{{item.warehousename}}</view> <view class="action" bindtap="hideModal"> <text class="cuIcon-close text-red"></text> </view> </view> <!-- 弹窗内容 --> <view class="cu-list menu card-menu margin-bottom-xl shadow-lg radius" > <view class="cu-item "> <text class="text-black">城市:{{item.city}}</text> </view> <view class="cu-item "> <text class=" text-black">属性:{{item.properties}}</text> </view> <view class="cu-item "> <text class=" text-black">库容:{{item.Storage}}</text> </view> <view class="cu-item "> <text class=" text-blue">其他信息仅限内部查看</text> </view> </view> <!-- 弹窗结束 --> </view> </view> </view> 目前效果图 [图片] 但是点开里面的详情,只返回最后一条记录的参数 每条都返回这个 [图片] 请问,我要怎么把每条记录的参数精确传输进去。 谢谢大家!
2021-12-14 - echarts如何调用wx.request返回数据中的某字段数据?
js文件(需要把series中的三个data字段替换成我数据库中的三个字段) import * as echarts from '../../ec-canvas/echarts'; const app = getApp(); function initChart(canvas, width, height, dpr) { const chart = echarts.init(canvas, null, { width: width, height: height, devicePixelRatio: dpr // new }); canvas.setChart(chart); var option = { tooltip: { trigger: 'axis', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' }, confine: true }, legend: { data: ['热度', '正面', '负面'] }, grid: { left: 20, right: 20, bottom: 15, top: 40, containLabel: true }, xAxis: [ { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } } ], yAxis: [ { type: 'category', axisTick: { show: false }, data: ['汽车之家', '今日头条', '百度贴吧', '一点资讯', '微信', '微博', '知乎'], axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } } ], series: [ { name: '热度', type: 'bar', label: { normal: { show: true, position: 'inside' } }, data: [300, 270, 340, 344, 300, 320, 310], itemStyle: { // emphasis: { // color: '#37a2da' // } } }, { name: '正面', type: 'bar', stack: '总量', label: { normal: { show: true } }, data: [120, 102, 141, 174, 190, 250, 220], itemStyle: { // emphasis: { // color: '#32c5e9' // } } }, { name: '负面', type: 'bar', stack: '总量', label: { normal: { show: true, position: 'left' } }, data: [-20, -32, -21, -34, -90, -130, -110], itemStyle: { // emphasis: { // color: '#67e0e3' // } } } ] }; chart.setOption(option); return chart; } Page({ onShareAppMessage: function (res) { return { title: 'ECharts 可以在微信小程序中使用啦!', path: '/pages/index/index', success: function () { }, fail: function () { } } }, data: { ec: { onInit: initChart } }, onLoad: function (options) { var that = this;//把this对象复制到临时变量that const wxreq = wx.request({ url: 'http://123.23.5.12/data/xxx.php', data:{ //id:"1", //name:'Leanne Graham' }, header: { 'content-type': 'application/json' // 默认值 }, success: function (res){ console.log(res.data); that.userData = res.data; //无效不能实时的渲染到页面 that.setData({ userData: res.data });//和页面进行绑定可以动态的渲染到页面 }, fail: function (res){ console.log(res.data); this.userData = "数据获取失败"; } }) }, onReady() { } }); 数据库中的字段名为,date2,yuegangluo,yuegangpan,lpjc(需要后面3个) 调试输出结果为: [图片] 但是我不会调用到前面的data中,查了很多资料,新手,越看越迷糊,求点拨迷津,感谢~
2021-11-24