微信小程序 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 异步方法队列链实现代码分析
Jun 05 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
Jun 29 Javascript
详解Javascript 装载和执行
Nov 17 Javascript
js实现二级菜单渐隐显示
Nov 03 Javascript
Ztree新增角色和编辑角色回显问题的解决
Oct 25 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
vue引用js文件的多种方式(推荐)
May 17 Javascript
JavaScript箭头函数中的this详解
Jun 19 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
Oct 26 Javascript
原生js中运算符及流程控制示例详解
Jan 05 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python实现telnet服务器的方法
2015/07/10 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
管理科学大学生求职信
2013/11/13 职场文书
医院门卫岗位职责
2013/12/30 职场文书
关于爱情的广播稿
2014/01/16 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
安全生产大检查方案
2014/05/07 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2015年司机工作总结
2015/04/23 职场文书
学校就业保障协议书
2019/06/24 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书