微信小程序 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 相关文章推荐
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
利用javascript数组长度循环数组内所有元素
Dec 27 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
详解jQuery的Cookie插件
Nov 23 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
jQuery 表单序列化实例代码
Jun 11 jQuery
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 Javascript
Vue头像处理方案小结
Jul 26 Javascript
vue组件命名和props命名代码详解
Sep 01 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 Javascript
详细分析React 表单与事件
Jul 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封装的连接Mysql类及用法分析
2015/12/10 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
js form action动态修改方法
2008/11/04 Javascript
判断控件是否已加载完成的代码
2010/02/24 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
Python学习笔记(二)基础语法
2014/06/06 Python
在Python中使用异步Socket编程性能测试
2014/06/25 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
师范大学音乐表演专业求职信
2013/10/23 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
老公给老婆的道歉信
2014/01/10 职场文书
北京大学自荐信范文
2014/01/28 职场文书
高三家长寄语
2014/04/03 职场文书
爱国主义演讲稿
2014/05/07 职场文书
会计毕业生自荐书
2014/06/12 职场文书
保险专业求职信
2014/07/07 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
色戒观后感
2015/06/12 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript