溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Form表單類組件與Map地圖組件

發(fā)布時(shí)間:2020-08-02 13:05:04 來源:網(wǎng)絡(luò) 閱讀:1444 作者:ZeroOne01 欄目:移動(dòng)開發(fā)

筆記內(nèi)容:Form表單類組件與Map地圖組件
筆記日期:2018-02-04


form之switch組件

switch組件是一個(gè)開關(guān)選擇器,wxml示例代碼如下:

<view class='container'>
  <view class='switch_text'>switch</view>
  <switch name='switch2' checked='true' />
  <switch name='switch3' />
  <switch name='switch4' checked='true' color='red' />
</view>

說明:

  • name屬性設(shè)置該switch組件的名稱
  • checked屬性設(shè)置該switch組件是否為選中狀態(tài),true為選中,false為不選中,不設(shè)置該屬性的話默認(rèn)為false
  • color屬性設(shè)置該switch組件的顏色

樣式代碼如下:

.container{
  text-align: center;
}
.switch_text{
  color: #d1d1d1;
  margin-bottom: 10rpx;
}
.container switch{
  margin-bottom: 20rpx;
}

運(yùn)行效果:
Form表單類組件與Map地圖組件

switch組件里有一個(gè)bindchange事件,通過該事件我們可以獲得該組件的狀態(tài)值,wxml代碼如下:

<switch name='switch5' bindchange='onBindChange' />

js代碼如下:

onBindChange:function(event){
    console.log(event.detail.value);
}

打印結(jié)果:

true
false

switch組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/switch.html


form之slider組件

slider組件是一個(gè)滑動(dòng)選擇器,也就是滑動(dòng)條,wxml示例代碼如下:

<view>
  <view class='title'>slider</view>
  <slider min='0' max='500' step='100' name='slider' value='100' show-value='true'></slider>
</view>

說明:

  • min屬性設(shè)置該slider組件的最小值
  • max屬性設(shè)置該slider組件的最大值
  • step屬性 設(shè)置該slider組件的步長(zhǎng),也就是每拖動(dòng)一次就遞增多少個(gè)數(shù)值。以上設(shè)置的是100,那么每拖動(dòng)一次就會(huì)遞增100
  • value屬性設(shè)置該slider組件默認(rèn)選中的值
  • show-value屬性顯示該slider組件當(dāng)前被選中的值

樣式代碼如下:

.title{
  color: #d1d1d1;
  margin-bottom: 10rpx;
  margin-left: 20rpx;
}

運(yùn)行效果:
Form表單類組件與Map地圖組件

slider組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/slider.html


form之radio-group組件

radio-group是單項(xiàng)選擇器,也就是單選框,而其內(nèi)部由多個(gè)&lt;radio/&gt;單選項(xiàng)目組成,示例代碼如下:

<view>
  <view class='title'>radio</view>
  <view class='radio_view'>
    <radio-group name='radio-group' bindchange='onRadioChange'>
      <label>
        <radio value='漓江塔' checked='true'>漓江塔</radio>
      </label>
      <label>
        <radio value='努巴尼'>努巴尼</radio>
      </label>
      <label>
        <radio value='尼泊爾' disabled='true'>尼泊爾</radio>
      </label>
    </radio-group>
  </view>
</view>

說明:

  • disabled屬性設(shè)置該radio組件為禁用狀態(tài)

樣式代碼如下:

.title {
  color: #d1d1d1;
  margin-bottom: 10rpx;
  margin-left: 20rpx;
}

.radio_view {
  margin-left: 20rpx;
  color: #666;
}

.radio_view label {
  margin-left: 20rpx;
  margin-right: 20rpx;
}

js代碼如下:

  onRadioChange: function (event) {
    console.log(event.detail.value);
  }

運(yùn)行效果:
Form表單類組件與Map地圖組件

radio組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/radio.html


form之checkbox-group組件

checkbox-group是多項(xiàng)選擇器,也就是多選框,其內(nèi)部由多個(gè)checkbox組成,示例代碼如下:

<view>
  <view class='title'>checkbox</view>
  <view class='checkbox_view'>
    <checkbox-group name='checkbox-group' bindchange='onCheckboxChange'>
      <label>
        <checkbox value='漓江塔' checked='true'>漓江塔</checkbox>
      </label>
      <label>
        <checkbox value='努巴尼'>努巴尼</checkbox>
      </label>
      <label>
        <checkbox value='尼泊爾' disabled='true'>尼泊爾</checkbox>
      </label>
    </checkbox-group>
  </view>
</view>

樣式代碼如下:

.title {
  color: #d1d1d1;
  margin-bottom: 10rpx;
  margin-left: 20rpx;
}

.checkbox_view {
  margin-left: 20rpx;
  color: #666;
}

.checkbox_view label {
  margin-left: 20rpx;
  margin-right: 20rpx;
}

js代碼如下:

  onCheckboxChange: function (event) {
    console.log(event.detail.value);
  }

運(yùn)行效果:
Form表單類組件與Map地圖組件

然后選擇多個(gè):
Form表單類組件與Map地圖組件

控制臺(tái)打印出來的是一個(gè)數(shù)組:
Form表單類組件與Map地圖組件

checkbox組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/checkbox.html


form表單提交

熟悉web前端開發(fā)的小伙伴應(yīng)該對(duì)表單提交都不陌生,表單提交就是把表單組件中的數(shù)據(jù)都收集起來,然后向服務(wù)器進(jìn)行提交。小程序中也有form組件,它是通過觸發(fā)事件來進(jìn)行數(shù)據(jù)的提交的,小程序的表單提交比web中的表單提交更為簡(jiǎn)單一些,wxml代碼示例:

<view class='page'>
  <view class='page_hd'>
    <text class='page_title'>form</text>
    <text class='page_desc'>表單</text>
  </view>

  <form bindsubmit="formSubmit" bindreset="formReset">

    <view class="section section_gap">
      <view class="section__title">switch</view>
      <switch name="switch" />
    </view>

    <view class="section section_gap">
      <view class="section__title">slider</view>
      <slider name="slider" show-value min='0' max='100' value='50'></slider>
    </view>

    <view class="section">
      <view class="section__title">input</view>
    </view>
    <input name="input" placeholder="please input here" />

    <view class="section section_gap">
      <view class="section__title">radio</view>
      <radio-group name="radio-group">
        <label>
          <radio value="漓江塔" />漓江塔</label>
        <label>
          <radio value="努巴尼" />努巴尼</label>
        <label>
          <radio value="尼泊爾" />尼泊爾</label>
      </radio-group>
    </view>

    <view class="section section_gap">
      <view class="section__title">checkbox</view>
      <checkbox-group name="checkbox">
        <label>
          <checkbox value="西湖醋魚" />西湖醋魚</label>
        <label>
          <checkbox value="糖醋排骨" />糖醋排骨</label>
        <label>
          <checkbox value="松鼠桂魚" />松鼠桂魚</label>
        <label>
          <checkbox value="酒釀丸子" />酒釀丸子</label>
        <label>
          <checkbox value="魚香肉絲" />魚香肉絲</label>
      </checkbox-group>
    </view>

    <view class="btn-area">
      <button formType="submit">Submit</button>
      <button formType="reset">Reset</button>
    </view>

  </form>
</view>

樣式代碼示例:

.page {
  display: flex;
  flex-direction: column;
  background-color: #fbfbfb;
}

.page_hd {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 50rpx;
  margin-top: 50rpx;
}

.page_title {
  font-size: 25rpx;
  color: #d1d1d1;
}

.page_desc {
  text-align: center;
  font-size: 30rpx;
  width: 200rpx;
  color: #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 20rpx;
}

.section__title {
  margin-bottom: 20rpx;
  font-size: 32rpx;
}

.section {
  font-size: 30rpx;
  color: #666;
  padding-left: 30rpx;
  padding-right: 30rpx;
}

.page input {
  width: 100%;
  height: 80rpx;
  font-size: 25rpx;
  background-color: white;
  padding-left: 30rpx;
}

.section_gap {
  margin-top: 60rpx;
  margin-bottom: 60rpx;
}

label {
  display: flex;
  flex-direction: row;
  margin-bottom: 10rpx;
}

.btn-area button {
  width: 620rpx;
  margin-bottom: 30rpx;
}

js代碼示例:

Page({

  formSubmit: function (event) {
    console.log('form發(fā)生了submit事件,攜帶數(shù)據(jù)為:', event.detail.value);
  },

  formReset: function (event) {
    console.log('form發(fā)生了reset事件');
  },

})

運(yùn)行效果:
Form表單類組件與Map地圖組件

填寫一些數(shù)據(jù),然后點(diǎn)擊Submit按鈕進(jìn)行表單的提交:
Form表單類組件與Map地圖組件

控制臺(tái)打印的數(shù)據(jù)如下:
Form表單類組件與Map地圖組件

form表單組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/form.html


map組件

map組件是用來實(shí)現(xiàn)地圖功能的,wxml示例代碼:

<map id="map" longitude="113.324520" latitude="23.099994" scale="14" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" ></map>

說明:

  • longitude屬性用于設(shè)置中心經(jīng)度
  • latitude屬性則用于設(shè)置中心維度
  • scale屬性用于設(shè)置地圖的縮放級(jí)別,取值范圍為5-18,也就是我們?cè)谑謾C(jī)上能夠雙指放大縮小的級(jí)別
  • markers屬性用于設(shè)置地圖的mark點(diǎn)信息,也就是定位時(shí)的那個(gè)表示位置或者用于標(biāo)記位置的圖標(biāo)
  • bindmarkertap表示點(diǎn)擊mark點(diǎn)時(shí)會(huì)觸發(fā)的事件
  • polyline屬性用于設(shè)置地圖的mark點(diǎn)路線信息

js代碼如下:

Page({
  // 初始化一些數(shù)據(jù)
  data: {
    // mark點(diǎn)信息
    markers: [{
      iconPath: "/images/mark.png",  // mark點(diǎn)的圖標(biāo)路徑
      id: 0,
      latitude: 23.099994,
      longitude: 113.324520,
      width: 50,
      height: 50
    }],

    // mark點(diǎn)路線信息
    polyline: [{
      points: [{
        longitude: 113.3245211,
        latitude: 23.10229
      }, {
        longitude: 113.324520,
        latitude: 23.21229
      }],
      color: "#FF0000DD",
      width: 3,
      dottedLine: true
    }],
  },

  markertap: function (event) {
    // 調(diào)用微信的內(nèi)置地圖
    wx.openLocation({
      latitude: 23.10229,
      longitude: 113.3245211,
    })
  },
})

運(yùn)行效果:
Form表單類組件與Map地圖組件

點(diǎn)擊地圖的mark圖標(biāo)觸發(fā)事件后會(huì)進(jìn)入微信的內(nèi)置地圖:
Form表單類組件與Map地圖組件

注:map組件的一些功能在模擬器上不能完全顯示出來,所以研究該組件的時(shí)候,最好使用真機(jī)來調(diào)試。

map組件的官方說明文檔如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI