微信小程序 label 组件详解及简单实例


Posted in Javascript onJanuary 10, 2017

微信小程序label

相关文章:

微信小程序 Button

微信小程序 radio

微信小程序 slider

微信小程序 switch

微信小程序 textarea

微信小程序 picker-view

微信小程序 picker

微信小程序 label

微信小程序 input 

微信小程序 form

微信小程序 checkbox

实现效果图:

微信小程序 label 组件详解及简单实例

用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件。

for优先级高于内部控件,内部有多个控件的时候默认触发第一个控件。

目前可以绑定的控件有:button, checkbox, radio, switch

属性名 类型 说明
for String 绑定控件的id

示例代码:

<view class="section section_gap">
<view class="section__title">表单组件在label内</view>
<checkbox-group class="group" bindchange="checkboxChange">
 <view class="label-1" wx:for-items="{{checkboxItems}}">
 <label>
  <checkbox hidden value="{{item.name}}" checked="{{item.checked}}"></checkbox>
  <view class="label-1__icon">
  <view class="label-1__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>
  </view>
  <text class="label-1__text">{{item.value}}</text>
 </label>
 </view>
</checkbox-group>
</view>

<view class="section section_gap">
<view class="section__title">label用for标识表单组件</view>
<radio-group class="group" bindchange="radioChange">
 <view class="label-2" wx:for-items="{{radioItems}}">
 <radio id="{{item.name}}" hidden value="{{item.name}}" checked="{{item.checked}}"></radio>
 <view class="label-2__icon">
  <view class="label-2__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>
 </view>
 <label class="label-2__text" for="{{item.name}}"><text>{{item.name}}</text></label>
 </view>
</radio-group>
</view>


<view class="section section_gap">
<view class="section__title">绑定button</view>
<label class="label-3">
 <text>点击这段文字,button会被选中</text>
</label>
<view class="btn-area">
 <button type="default" name="1" bindtap="tapEvent">按钮</button>
</view>
</view>

<view class="section section_gap">
<view class="section__title">label内有多个时选中第一个</view>
<label class="label-4">
 <checkbox> 选中我 </checkbox>
 <checkbox> 选不中 </checkbox>
 <checkbox> 选不中 </checkbox>
 <checkbox> 选不中 </checkbox>
 <view class="label-4_text">点我会选中第一个</view>
</label>
</view>
Page({
 data: {
 checkboxItems: [
 {name: 'USA', value: '美国'},
 {name: 'CHN', value: '中国', checked: 'true'},
 {name: 'BRA', value: '巴西'},
 {name: 'JPN', value: '日本', checked: 'true'},
 {name: 'ENG', value: '英国'},
 {name: 'TUR', value: '法国'},
 ],
 radioItems: [
 {name: 'USA', value: '美国'},
 {name: 'CHN', value: '中国', checked: 'true'},
 {name: 'BRA', value: '巴西'},
 {name: 'JPN', value: '日本'},
 {name: 'ENG', value: '英国'},
 {name: 'TUR', value: '法国'},
 ],
 hidden: false
 },
 checkboxChange: function(e) {
 var checked = e.detail.value
 var changed = {}
 for (var i = 0; i < this.data.checkboxItems.length; i ++) {
 if (checked.indexOf(this.data.checkboxItems[i].name) !== -1) {
 changed['checkboxItems['+i+'].checked'] = true
 } else {
 changed['checkboxItems['+i+'].checked'] = false
 }
 }
 this.setData(changed)
 },
 radioChange: function(e) {
 var checked = e.detail.value
 var changed = {}
 for (var i = 0; i < this.data.radioItems.length; i ++) {
 if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
 changed['radioItems['+i+'].checked'] = true
 } else {
 changed['radioItems['+i+'].checked'] = false
 }
 }
 this.setData(changed)
 }
})
.label-1, .label-2{
 margin-bottom: 15px;
}
.label-1__text, .label-2__text {
 display: inline-block;
 vertical-align: middle;
}

.label-1__icon {
 position: relative;
 margin-right: 10px;
 display: inline-block;
 vertical-align: middle;
 width: 18px;
 height: 18px;
 background: #fcfff4;
}

.label-1__icon-checked {
 position: absolute;
 top: 3px;
 left: 3px;
 width: 12px;
 height: 12px;
 background: #1aad19;
}


.label-2__icon {
 position: relative;
 display: inline-block;
 vertical-align: middle;
 margin-right: 10px;
 width: 18px;
 height: 18px;
 background: #fcfff4;
 border-radius: 50px;
}

.label-2__icon-checked {
 position: absolute;
 left: 3px;
 top: 3px;
 width: 12px;
 height: 12px;
 background: #1aad19;
 border-radius: 50%;
}

.label-4_text{
 text-align: center;
 margin-top: 15px;
}
Javascript 相关文章推荐
JS解析XML的实现代码
Nov 12 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
JavaScript中Date.toSource()方法的使用教程
Jun 12 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
正则 js分转元带千分符号详解
Mar 08 Javascript
JS闭包的几种常见形式实例详解
Sep 16 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
VUE 3D轮播图封装实现方法
Jul 03 Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 Javascript
JS实现购物车基本功能
Nov 08 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 #Javascript
微信小程序 input输入框详解及简单实例
Jan 10 #Javascript
微信小程序 form组件详解及简单实例
Jan 10 #Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 #Javascript
使用vue.js实现联动效果的示例代码
Jan 10 #Javascript
jQuery插件ajaxFileUpload使用详解
Jan 10 #Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 #Javascript
You might like
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
php实现学生管理系统
2020/03/21 PHP
php常用数组函数实例小结
2016/12/29 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
js中开关变量使用实例
2017/02/24 Javascript
详解js类型判断
2018/05/22 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
python使用urlparse分析网址中域名的方法
2015/04/15 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
个人优缺点自我评价
2014/01/27 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
指导教师评语
2014/04/26 职场文书
元旦晚会活动总结
2014/07/09 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
初中毕业感言300字
2015/07/31 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
高中英语教学反思范文
2016/03/02 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python