微信小程序 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 相关文章推荐
一些javascript一些题目的解析
Dec 25 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
jQuery取得select选择的文本与值的示例
Dec 09 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
JavaScript+html5 canvas实现本地截图教程
Apr 16 Javascript
JS 全屏和退出全屏详解及实例代码
Nov 07 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
Mar 09 Javascript
js实现前端图片上传即时预览功能
Aug 02 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
了解javascript中的Dom操作
May 27 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 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中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
微信JS接口大全
2016/08/25 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
vue实现分页栏效果
2019/06/28 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
Python的历史与优缺点整理
2020/05/26 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
岗位职责风险防控
2014/02/18 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
公开承诺书格式
2014/05/21 职场文书
校运会口号
2014/06/18 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
公司出差管理制度范本
2015/08/05 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript