一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

注冊

微信小程序開發之OFO共享單車,微信小程序選擇器

2017-12-20
導讀:上一節實現了掃碼,這一節我們開始實現點擊單車報障控件之后跳轉的頁面: Screenshot_2017-05-07-10-13-55-110_com.tencent.mm.png (130 KB, 下載次數: 5) 下載附件 保存到相冊 2017-6-5 14:33 上傳 Screens...
上一節實現了掃碼,這一節我們開始實現點擊單車報障控件之后跳轉的頁面:

頁面分析
  • 頁面可以勾選故障類型,所以需要用到復選框組件;可以選擇上傳或拍攝圖片,所以要使用wx.chooseImage({})這個API選取圖片;可以輸入車牌號和備注,所以需要使用input輸入組件。
  • 勾選類型,選擇圖片,輸入備注信息完成后,后臺需要獲取這些輸入的數據提交到服務器以獲得反饋。
  • 必須勾選類型和選擇周圍環境圖片才能提交,否則彈窗提示。可以選擇多張圖片,也可以取消選擇的圖片。


頁面結構
  1. <!--pages/warn/index.wxml-->
  2. <view class="container">
  3.     <view class="choose">
  4.         <view class="title">請選擇故障類型</view>
  5.         <checkbox-group bindchange="checkboxChange" class="choose-grids">
  6.             <!-- itemsValue是data對象里定義的數組,item代表數組的每一項,此處語法為循環輸出數組的每一項并渲染到每一個復選框。下面還有類似語法 -->
  7.             <block wx:for="{{itemsValue}}" wx:key="{{item}}">
  8.                 <view class="grid">
  9.                     <checkbox value="{{item.value}}" checked="{{item.checked}}" color="{{item.color}}" />{{item.value}}
  10.                 </view>
  11.             </block>
  12.         </checkbox-group>        
  13.     </view>
  14.     <view class="action">
  15.         <view class="title">拍攝單車周圍環境,便于維修師傅找車</view>
  16.         <view class="action-photo">
  17.         <block wx:for="{{picUrls}}" wx:key="{{item}}" wx:index="{{index}}">
  18.             <image src="{{item}}"><icon type="cancel" data-index="{{index}}" color="red" size="18" class ="del" bindtap="delPic" /></image>
  19.         </block>
  20.             <text class="add" bindtap="bindCamera">{{actionText}}</text>
  21.         </view>
  22.         <view class="action-input">
  23.             <input bindinput="numberChange" name="number" placeholder="車牌號(車牌損壞不用填)" />
  24.             <input bindinput="descChange" name="desc" placeholder="備注" />            
  25.         </view>
  26.         <view class="action-submit">
  27.             <button class="submit-btn" type="default" loading="{{loading}}" bindtap="formSubmit" style="background-color: {{btnBgc}}">提交</button>
  28.         </view>
  29.     </view>
  30. </view>
復制代碼

這里用到的組件和指令有:
  • 復選框組件 <checkbox-group>
  • 單個復選框<checkbox>
  • 輸入框組件<input>
  • 按鈕組件<button>
  • 圖標組件<icon>
  • 循環指令:wx:for = "itemValues" wx:key="item" 表示 :
  • 循環一個數組itemValues,數組每一項為item,item是一個對象,具體渲染到模板可能是對象的某個key的value,如:{{item.value}}

組件什么的看看組件文檔就知道了唄

頁面樣式
  1. /* pages/wallet/index.wxss */
  2. .choose{
  3.         background-color: #fff;
  4. }
  5. .choose-grids{
  6.         display: flex;
  7.         flex-wrap: wrap;
  8.         justify-content: space-around;
  9.         padding: 50rpx;
  10. }
  11. .choose-grids .grid{
  12.         width: 45%;
  13.         height: 100rpx;
  14.         margin-top: 36rpx;
  15.         border-radius: 6rpx;
  16.         line-height: 100rpx;
  17.         text-align: center;
  18.         border: 2rpx solid #b9dd08;
  19. }
  20. .choose-grids .grid:first-child,
  21. .choose-grids .grid:nth-of-type(2){
  22.         margin-top: 0;
  23. }
  24. .action .action-photo{
  25.         background-color: #fff;
  26.         padding: 40rpx 0px 40rpx 50rpx;
  27. }
  28. .action .action-photo image{
  29.         position: relative;
  30.         display: inline-block;
  31.         width: 120rpx;
  32.         height: 120rpx;
  33.         overflow: visible;
  34.         margin-left: 25rpx;
  35. }
  36. .action .action-photo image icon.del{
  37.         display: block;
  38.         position: absolute;
  39.         top: -20rpx;
  40.         right: -20rpx;
  41. }
  42. .action .action-photo text.add{
  43.         display: inline-block;
  44.         width: 120rpx;
  45.         height: 120rpx;
  46.         line-height: 120rpx;
  47.         text-align: center;
  48.         font-size: 24rpx;
  49.         color: #ccc;
  50.         border: 2rpx dotted #ccc;
  51.         margin-left: 25rpx;
  52.         vertical-align: top;
  53. }
  54. .action .action-input{
  55.         padding-left: 50rpx;
  56.         margin-top: 30rpx;
  57.         background-color: #fff;
  58. }
  59. .action .action-input input{
  60.         width: 90%;
  61.         padding-top: 40rpx;
  62.         padding-bottom: 40rpx;
  63. }
  64. .action .action-input input:first-child{
  65.         border-bottom: 2rpx solid #ccc;
  66.         padding-bottom: 20rpx;
  67. }
  68. .action .action-input input:last-child{
  69.         padding-top: 20rpx;
  70. }
  71. .action .action-submit{
  72.         padding: 40rpx 40rpx;
  73.         background-color: #f2f2f2;
  74. }
復制代碼

頁面數據邏輯
  1. // pages/wallet/index.js
  2. Page({
  3.   data:{
  4.     // 故障車周圍環境圖路徑數組
  5.     picUrls: [],
  6.     // 故障車編號和備注
  7.     inputValue: {
  8.       num: 0,
  9.       desc: ""
  10.     },
  11.     // 故障類型數組
  12.     checkboxValue: [],
  13.     // 選取圖片提示
  14.     actionText: "拍照/相冊",
  15.     // 提交按鈕的背景色,未勾選類型時無顏色
  16.     btnBgc: "",
  17.     // 復選框的value,此處預定義,然后循環渲染到頁面
  18.     itemsValue: [
  19.       {
  20.         checked: false,
  21.         value: "私鎖私用",
  22.         color: "#b9dd08"
  23.       },
  24.       {
  25.         checked: false,
  26.         value: "車牌缺損",
  27.         color: "#b9dd08"
  28.       },
  29.       {
  30.         checked: false,
  31.         value: "輪胎壞了",
  32.         color: "#b9dd08"
  33.       },
  34.       {
  35.         checked: false,
  36.         value: "車鎖壞了",
  37.         color: "#b9dd08"
  38.       },
  39.       {
  40.         checked: false,
  41.         value: "違規亂停",
  42.         color: "#b9dd08"
  43.       },
  44.       {
  45.         checked: false,
  46.         value: "密碼不對",
  47.         color: "#b9dd08"
  48.       },
  49.       {
  50.         checked: false,
  51.         value: "剎車壞了",
  52.         color: "#b9dd08"
  53.       },
  54.       {
  55.         checked: false,
  56.         value: "其他故障",
  57.         color: "#b9dd08"
  58.       }
  59.     ]
  60.   },
  61. // 頁面加載
  62.   onLoad:function(options){
  63.     wx.setNavigationBarTitle({
  64.       title: '報障維修'
  65.     })
  66.   },
  67. // 勾選故障類型,獲取類型值存入checkboxValue
  68.   checkboxChange: function(e){
  69.     let _values = e.detail.value;
  70.     if(_values.length == 0){
  71.       this.setData({
  72.         btnBgc: ""
  73.       })
  74.     }else{
  75.       this.setData({
  76.         checkboxValue: _values,
  77.         btnBgc: "#b9dd08"
  78.       })
  79.     }   
  80.   },
  81. // 輸入單車編號,存入inputValue
  82.   numberChange: function(e){
  83.     this.setData({
  84.       inputValue: {
  85.         num: e.detail.value,
  86.         desc: this.data.inputValue.desc
  87.       }
  88.     })
  89.   },
  90. // 輸入備注,存入inputValue
  91.   descChange: function(e){
  92.     this.setData({
  93.       inputValue: {
  94.         num: this.data.inputValue.num,
  95.         desc: e.detail.value
  96.       }
  97.     })
  98.   },
  99. // 提交到服務器
  100.   formSubmit: function(e){
  101.     // 圖片和故障類型必選
  102.     if(this.data.picUrls.length > 0 && this.data.checkboxValue.length> 0){
  103.       wx.request({
  104.         url: 'https://www.easy-mock.com/mock/59098d007a878d73716e966f/ofodata/msg',
  105.         data: {
  106.           // 如果是post請求就把這些數據傳到服務器,這里用get請求模擬一下假裝獲得了服務器反饋
  107.           // picUrls: this.data.picUrls,
  108.           // inputValue: this.data.inputValue,
  109.           // checkboxValue: this.data.checkboxValue
  110.         },
  111.         method: 'get', //
  112.         // header: {}, // 設置請求的 header
  113.         success: function(res){
  114.           wx.showToast({
  115.             title: res.data.data.msg,
  116.             icon: 'success',
  117.             duration: 2000
  118.           })
  119.         }
  120.       })
  121.     }else{
  122.       wx.showModal({
  123.         title: "請填寫反饋信息",
  124.         content: '看什么看,趕快填反饋信息,削你啊',
  125.         confirmText: "我我我填",
  126.         cancelText: "勞資不填",
  127.         success: (res) => {
  128.           if(res.confirm){
  129.             // 繼續填
  130.           }else{
  131.             console.log("back")
  132.             wx.navigateBack({
  133.               delta: 1 // 回退前 delta(默認為1) 頁面
  134.             })
  135.           }
  136.         }
  137.       })
  138.     }
  139.    
  140.   },
  141. // 選擇故障車周圍環境圖 拍照或選擇相冊
  142.   bindCamera: function(){
  143.     wx.chooseImage({
  144.       count: 4,
  145.       sizeType: ['original', 'compressed'],
  146.       sourceType: ['album', 'camera'],
  147.       success: (res) => {
  148.         let tfps = res.tempFilePaths; // 圖片本地路徑
  149.         let _picUrls = this.data.picUrls;
  150.         for(let item of tfps){
  151.           _picUrls.push(item);
  152.           this.setData({
  153.             picUrls: _picUrls,
  154.             actionText: "+"
  155.           });
  156.         }
  157.       }
  158.     })
  159.   },
  160. // 刪除選擇的故障車周圍環境圖
  161.   delPic: function(e){
  162.     let index = e.target.dataset.index;
  163.     let _picUrls = this.data.picUrls;
  164.     _picUrls.splice(index,1);
  165.     this.setData({
  166.       picUrls: _picUrls
  167.     })
  168.   }
  169. })
復制代碼


當你不熟悉一個函數或者說API返回的參數時(比如上述代碼中的e參數),可以嘗試去console.log一下,看看這個參數裝載著什么數據。這對于學習一個新的API是非常好的一個方法

其他章節
微信小程序開發之OFO共享單車——掃碼
微信小程序開發之OFO共享單車——單車報障頁
微信小程序開發之OFO共享單車——個人中心頁
微信小程序開發之OFO共享單車——錢包與充值
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

主站蜘蛛池模板: 青青草免费在线视频播放|欧美国产一区二区三区|久久综合站|国产=aV视频一区二区|国产精品色在线免费|大片免免费观看视频播放器在线观看 | 久久精品欧美一区二区|国产91精品网站|精品免费|亚洲=aV无码一区二区乱孑伦=aS|超碰影院在线观看|內射XXX韩国在线观看 | 97久久久久人妻精品区一|高潮视频免费|欧美一级大胆视频|超碰在线97免费|国产福利合集|7777精品伊久久久大香线蕉语言 | 精品日本一区二区三区在线观看|日日操夜夜摸|国产成人无码网站m3u8|欧美性猛交xx|亚洲自拍偷拍一区二区|国产免费无码成人=a片在线观看 | 久久麻传媒亚洲=av国产|久久久久国产精品麻豆|啪啪伊人网|亚洲精品久中文字幕花红影视|欧美丰满熟妇xxxxx|www.国产一区 | 女性自慰=aⅴ片高清免费|久久环射|最近中文字幕免费高清MV视频6|忘忧草日本在线播放www|日本=a级大片|日本黄色片一级 | 日韩=a网|超碰=av在线|国产综合久|三级视频在线|久久精品毛片免费观看|护士精品一区二区三区99 | 爱福利视频导航|一级=a=a=a级毛片午夜在线播放|国产真实情侣MV|欧美三级视频在线观看|午夜人成免费视频|www.99爱 | 久久精品九九热无码免贵|日本=aⅴ精品一区二区三区|亚洲国产精品一区二区成人片|国产精品91久久|久草=av在线播放|亚洲在线www | 成人=av一区二区三区在线观看|欧美日韩中文字幕一区二区三区|#NAME?|青青草视频网|日韩=av在线一区二区三区|老司机在线精品视频播放 | 国产伦精品一区二区三区免费|天天躁日日躁狼狼超碰97|综合亚洲视频|欧美性生交XXXXX无码小说|成年人免费网站在线观看|96国产精品 | 免费无码又爽又刺激=a片|爽爽影院免费观看|青青视频二区|少妇=av|久久国产操|#NAME? | 国产精品久久国产三级国不卡顿|2021国内精品久久久久精免费|天天舔天天插|2021国产在线观看不卡视频|久久久久国色=a∨免费看|伊人国产精品视频 | 欧美在线视频三区|国产中文原创|日本午夜免费福利视频|国产色综合色产在线视频|综合国产精品|猫咪成人在线观看 | 亚洲精品=a级九色|99在线啪|欧美中文视频|亚洲精品国产一区二区色欲影院|精品久久久久久亚洲精品|性欧美free德国极品 | 性生大片免费观看668|亚洲成人=av影片|毛片大全真人在线|国产老女人高潮大全|中文字幕丰满|一本久久久久 | 亚洲综合另类小说色区色噜噜|国产奂费一级毛片|色七综合|草蹓视频在线观看|伊人欧美|精品成人一区二区三区免费视频 | 日韩精品免费一区|日本人与黑人做爰视频网站|国产免费黄视频在线观看|亚洲男人天堂一区|69视频在线免费观看|视频三区二区一区 | 男人操女人免费视频网站|粉嫩大学生无套内射无码卡视频|国产片人综合亚洲区|成年美女黄网站色大片免费看老狼|99色爱|在线免费观看亚洲视频 | 日本少妇浓毛BBWBBWBBW|久久久久久成人网|亚洲中文有码字幕日本|老妇出水bbw高潮|色偷偷88888欧美精品久久久|日韩午夜精品 | 在线看免费观看=av|十九岁大学生日本在线播放|91在线看视频|欧美日韩国产综合新一区|韩日黄色毛片|刘亦菲精品国产亚洲人成 | 国产一区二区三区怡红院|91自拍.com|国91精品久久久久9999不卡|久久精品国产精品亚洲艾草网|九色精品|亚洲一区二区综合 | 福利综合网|成年人网站黄色|欧美大陆国产|日韩视频在线免费|精品国产一区二区三区久久久久久|奇米超碰在线 | pron麻豆|66lu国产在线观看|久久WWW免费人成一看片|亚洲精品乱码久久久久久久久|国语高潮无遮挡无码免费看|成人在线观看18 | 亚洲日韩无砖专区一中文字目|精品在线观看视频|欧美内射深喉中文字幕|美女高潮潮喷出白浆视频|95国产精品人妻无码久|欧洲久久 | 国产成人=av一区|日本大片免=a费观看视频老师|在线观看高清视频|一机毛片|久久九九兔免费精品6|久久爽精品区穿丝袜 | l8videosex性欧美69|国产麻豆91|黑人黄色片|午夜精品偷拍|欧美一区高清|久久99热只有频精品6狠狠 | 国产精品成人**免费视频|亚洲免费在线播放视频|国产激情一级毛片久久久|99久免费精品视频在线观78|97dyy97影院理论片在线|日韩成人免费视频 | 六月婷婷缴清综合在线|国内精品亚洲|无码成人=a=a=a=a=a毛片专区调教|成年人快播|西西人体44WWW高清大胆|久久久高潮 | 精品日韩=av一区二区|一区二区三区毛片免费|免费妈妈的朋友|中文字幕日本一道|午夜精品久久久久久毛片|欧美一区二区三区免费在线观看 | 在线观看国产免费|亚洲免费成人在线视频|日韩免费一级毛片|国产综合久久|爱情岛论坛亚洲品质自拍hd|欧美成人免费一区二区 | 成人精品视频一区二区|综合精品久久|久久www视频|绿巨人www在线观看|免费看=a=a=a=a=a级少淫片|91tv在线播放网站 | 日韩亚洲欧美中文字幕|国产精品久久久久久亚洲调教|5060网永久免费=a级毛片|人妻少妇久久久久久97人妻|国产成人无码=a区视频在线观看|欧美理论视频 | 国产毛片久久久久久国产毛片|日韩在线免费观看中文字幕|久久sp|91精品国产色综合久久久浪潮|天天躁狠狠躁夜躁2020挡不住|日本=a视频在线观看 久久精品九九热无码免贵|日本=aⅴ精品一区二区三区|亚洲国产精品一区二区成人片|国产精品91久久|久草=av在线播放|亚洲在线www | 在线看免费观看=av|十九岁大学生日本在线播放|91在线看视频|欧美日韩国产综合新一区|韩日黄色毛片|刘亦菲精品国产亚洲人成 | 欧美在线视频三区|国产中文原创|日本午夜免费福利视频|国产色综合色产在线视频|综合国产精品|猫咪成人在线观看 | 特级全黄久久久久久久久|伊人中文网|97资源站在线视频|久久天天躁狠狠躁夜夜躁2014|久久欧美精品一区|免费无码一级成年片在线观看 | 91porn在线视频|尤物视频网站在线|日韩色性|三级黄色=a级片|看免费黄色一级片|男女性杂交内射女BBWXZ | 欧美人成免费网站|图片区小说区激情区偷拍区|一级毛片免费大片|香蕉大人久久国产成人=av|亚洲欧美日本久久综合网站|亚洲精品成人=a8198=a | 日操夜干|久久综合日|91无遮挡无码国产在线播放|亚洲视频免费网站|波多野结衣在线视频观看|亚洲国产欧美精品 | 五月天婷婷色综合|91热国产|亚洲欧洲二区|日日插日日操|成人免费毛片高清视频|www.日韩在线观看 |