微信小程序 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 实现AJAX加载XML并解析的脚本
Jul 25 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
jquery对ajax的支持介绍
Dec 10 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
Bootstrap基本组件学习笔记之导航(10)
Dec 07 Javascript
详解RequireJs官方使用教程
Oct 31 Javascript
Vue+element-ui 实现表格的分页功能示例
Aug 18 Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 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-redis中文文档介绍
2013/02/07 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
jqTransform美化表单
2015/10/10 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
javascript动态创建对象的属性详解
2018/11/07 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
numpy数组拼接简单示例
2017/12/15 Python
python实现数据写入excel表格
2018/03/25 Python
python 显示数组全部元素的方法
2018/04/19 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
pycharm实现猜数游戏
2020/12/07 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
优秀大学生的自我评价
2014/01/16 职场文书
市场营销求职信范文
2014/02/21 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
Python爬虫之爬取某文库文档数据
2021/04/21 Python
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
mysql的单列多值存储实例详解
2022/04/05 MySQL
Win11查看设备管理器
2022/04/19 数码科技