微信小程序 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文件的小脚本
Jun 28 Javascript
自写的一个jQuery圆角插件
Oct 26 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
微信小程序实现日历效果
Dec 28 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
JS模拟浏览器实现全局搜索功能
Sep 11 Javascript
细说webpack6 Babel的使用详解
Sep 26 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
Feb 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
一个捕获函数输出的函数
2007/02/14 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
JS类的封装及实现代码
2009/12/02 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python 时间处理datetime实例
2008/09/06 Python
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python接口开发实现步骤详解
2020/04/26 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
CSS3实现swap交换动画
2016/01/19 HTML / CSS
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
大学生表扬信范文
2014/01/09 职场文书
协议书怎么写
2014/04/21 职场文书
普宁寺导游词
2015/02/04 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
高三生物教学反思
2016/02/22 职场文书