您好,登錄后才能下訂單哦!
筆記內容:Form表單類組件與Map地圖組件
筆記日期:2018-02-04
switch組件是一個開關選擇器,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>
說明:
樣式代碼如下:
.container{
text-align: center;
}
.switch_text{
color: #d1d1d1;
margin-bottom: 10rpx;
}
.container switch{
margin-bottom: 20rpx;
}
運行效果:
switch組件里有一個bindchange事件,通過該事件我們可以獲得該組件的狀態值,wxml代碼如下:
<switch name='switch5' bindchange='onBindChange' />
js代碼如下:
onBindChange:function(event){
console.log(event.detail.value);
}
打印結果:
true
false
switch組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/switch.html
slider組件是一個滑動選擇器,也就是滑動條,wxml示例代碼如下:
<view>
<view class='title'>slider</view>
<slider min='0' max='500' step='100' name='slider' value='100' show-value='true'></slider>
</view>
說明:
樣式代碼如下:
.title{
color: #d1d1d1;
margin-bottom: 10rpx;
margin-left: 20rpx;
}
運行效果:
slider組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/slider.html
radio-group是單項選擇器,也就是單選框,而其內部由多個<radio/>
單選項目組成,示例代碼如下:
<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>
說明:
樣式代碼如下:
.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);
}
運行效果:
radio組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/radio.html
checkbox-group是多項選擇器,也就是多選框,其內部由多個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);
}
運行效果:
然后選擇多個:
控制臺打印出來的是一個數組:
checkbox組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/checkbox.html
熟悉web前端開發的小伙伴應該對表單提交都不陌生,表單提交就是把表單組件中的數據都收集起來,然后向服務器進行提交。小程序中也有form組件,它是通過觸發事件來進行數據的提交的,小程序的表單提交比web中的表單提交更為簡單一些,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發生了submit事件,攜帶數據為:', event.detail.value);
},
formReset: function (event) {
console.log('form發生了reset事件');
},
})
運行效果:
填寫一些數據,然后點擊Submit按鈕進行表單的提交:
控制臺打印的數據如下:
form表單組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/form.html
map組件是用來實現地圖功能的,wxml示例代碼:
<map id="map" longitude="113.324520" latitude="23.099994" scale="14" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" ></map>
說明:
js代碼如下:
Page({
// 初始化一些數據
data: {
// mark點信息
markers: [{
iconPath: "/images/mark.png", // mark點的圖標路徑
id: 0,
latitude: 23.099994,
longitude: 113.324520,
width: 50,
height: 50
}],
// mark點路線信息
polyline: [{
points: [{
longitude: 113.3245211,
latitude: 23.10229
}, {
longitude: 113.324520,
latitude: 23.21229
}],
color: "#FF0000DD",
width: 3,
dottedLine: true
}],
},
markertap: function (event) {
// 調用微信的內置地圖
wx.openLocation({
latitude: 23.10229,
longitude: 113.3245211,
})
},
})
運行效果:
點擊地圖的mark圖標觸發事件后會進入微信的內置地圖:
注:map組件的一些功能在模擬器上不能完全顯示出來,所以研究該組件的時候,最好使用真機來調試。
map組件的官方說明文檔如下:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。