微信小程序开发--组件(3)
一、radio
<radio-group
class="radio-group"
bindchange="radioChange">
<label class="radio" wx:for="{{items}}">
<radio value="{{item.value}}" checked="{{item.checked}}" color='pink'/>{{item.value}}
</label>
</radio-group>
<!--
value:radio 标识。当该radio 选中时,radio-group 的 change 事件会携带radio的value
checked:当前是否选中
disabled:是否禁用
color:radio的颜色
-->
Page({
data: {
items: [
{name: 'USA', value: '美国'},
{name: 'CHN', value: '中国', checked: 'true'},
{name: 'BRA', value: '巴西'},
{name: 'JPN', value: '日本'},
{name: 'ENG', value: '英国'},
{name: 'TUR', value: '法国'},
]
},
radioChange: function(e) {
console.log('radio发生change事件,携带value值为:', e.detail.value)
}
})
二、picker
从底部弹起的滚动选择器。
<view class="section">
<view class="section__title">普通选择器</view>
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class="picker">
当前选择:{{array[index]}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">多列选择器</view>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
<view class="picker">
当前选择:{{multiArray[][multiIndex[]]}},{{multiArray[][multiIndex[]]}},{{multiArray[][multiIndex[]]}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">时间选择器</view>
<picker mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange">
<view class="picker">
当前选择: {{time}}
</view>
</picker>
</view> <view class="section">
<view class="section__title">日期选择器</view>
<picker mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange">
<view class="picker">
当前选择: {{date}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">省市区选择器</view>
<picker mode="region" bindchange="bindRegionChange" value="{{region}}" custom-item="{{customItem}}">
<view class="picker">
当前选择:{{region[]}},{{region[]}},{{region[]}}
</view>
</picker>
</view>
<!--
mode:选择器类型
selector 普通选择器
range array/object array mode 为 selector 或 multiSelector 时,range 有效
range-key string 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
value number 表示选择了 range 中的第几个(下标从 开始)
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value} multiSelector 多列选择器
range array/object array mode 为 selector 或 multiSelector 时,range 有效
range-key string 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
value number 表示选择了 range 中的第几个(下标从 开始)
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value}
bindcolumnchange eventhandle 列改变时触发 time 时间选择器
value string 表示选中的时间,格式为"hh:mm"
start string 表示有效时间范围的开始,字符串格式为"hh:mm"
end string 表示有效时间范围的结束,字符串格式为"hh:mm"
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value} date 日期选择器
value string 表示选中的日期,格式为"YYYY-MM-DD"
start string 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
end string 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
fields string day 有效值 year,month,day,表示选择器的粒度
year 选择器粒度为年
month 选择器粒度为月份
day 选择器粒度为天
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value} region 省市区选择器
value array 表示选中的省市区,默认选中每一列的第一个值
custom-item string 可为每一列的顶部添加一个自定义的项 1.5.
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码
-->
Page({
data: {
array: ['美国', '中国', '巴西', '日本'],
objectArray: [
{
id: ,
name: '美国'
},
{
id: ,
name: '中国'
},
{
id: ,
name: '巴西'
},
{
id: ,
name: '日本'
}
],
index: ,
multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']],
objectMultiArray: [
[
{
id: ,
name: '无脊柱动物'
},
{
id: ,
name: '脊柱动物'
}
], [
{
id: ,
name: '扁性动物'
},
{
id: ,
name: '线形动物'
},
{
id: ,
name: '环节动物'
},
{
id: ,
name: '软体动物'
},
{
id: ,
name: '节肢动物'
}
], [
{
id: ,
name: '猪肉绦虫'
},
{
id: ,
name: '吸血虫'
}
]
],
multiIndex: [, , ],
date: '2016-09-01',
time: '12:01',
region: ['广东省', '广州市', '海珠区'],
customItem: '全部'
},
bindPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
index: e.detail.value
})
},
bindMultiPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
multiIndex: e.detail.value
})
},
bindMultiPickerColumnChange: function (e) {
console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
var data = {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex
};
data.multiIndex[e.detail.column] = e.detail.value;
switch (e.detail.column) {
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'];
data.multiArray[] = ['猪肉绦虫', '吸血虫'];
break;
case :
data.multiArray[] = ['鱼', '两栖动物', '爬行动物'];
data.multiArray[] = ['鲫鱼', '带鱼'];
break;
}
data.multiIndex[] = ;
data.multiIndex[] = ;
break;
case :
switch (data.multiIndex[]) {
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['猪肉绦虫', '吸血虫'];
break;
case :
data.multiArray[] = ['蛔虫'];
break;
case :
data.multiArray[] = ['蚂蚁', '蚂蟥'];
break;
case :
data.multiArray[] = ['河蚌', '蜗牛', '蛞蝓'];
break;
case :
data.multiArray[] = ['昆虫', '甲壳动物', '蛛形动物', '多足动物'];
break;
}
break;
case :
switch (data.multiIndex[]) {
case :
data.multiArray[] = ['鲫鱼', '带鱼'];
break;
case :
data.multiArray[] = ['青蛙', '娃娃鱼'];
break;
case :
data.multiArray[] = ['蜥蜴', '龟', '壁虎'];
break;
}
break;
}
data.multiIndex[] = ;
break;
}
console.log(data.multiIndex);
this.setData(data);
},
bindDateChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
date: e.detail.value
})
},
bindTimeChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
time: e.detail.value
})
},
bindRegionChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
region: e.detail.value
})
}
})
微信小程序开发--组件(3)的更多相关文章
- 微信小程序开发--组件(5)
一.editor 富文本编辑器,可以对图片.文字进行编辑. 编辑器导出内容支持带标签的 html和纯文本的 text,编辑器内部采用 delta 格式进行存储. 通过setContents接口设置内容 ...
- 微信小程序开发--组件(4)
一.picker-view / picker-view-column <view> <view>{{year}}年{{month}}月{{day}}日</view> ...
- 微信小程序开发05-日历组件的实现
接上文:微信小程序开发04-打造自己的UI库 github地址:https://github.com/yexiaochai/wxdemo 我们这里继续实现我们的日历组件,这个日历组件稍微有点特殊,算是 ...
- 微信小程序开发03-这是一个组件
编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...
- 微信小程序倒计时组件开发
今天给大家带来微信小程序倒计时组件具体开发步骤: 先来看下最终效果: git源:http://git.oschina.net/dotton/CountDown 分步骤-性子急的朋友,可以直接看最后那段 ...
- 微信小程序开发心得
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...
- 微信小程序开发日记——高仿知乎日报(下)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
- 微信小程序开发日记——高仿知乎日报(中)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...
- 微信小程序开发日记——高仿知乎日报(上)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
随机推荐
- Win8 Metro(C#)数字图像处理--2.68图像最小值滤波器
原文:Win8 Metro(C#)数字图像处理--2.68图像最小值滤波器 /// <summary> /// Min value filter. /// </summary> ...
- InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException
原文:把程序安装成windows服务的过程及遇到的问题 做好了定时任务的程序,要把它放在服务器上,作为windows服务运行,也就是说,退出登录,用户注销后程序任然在后台运行. 将exe程序发布为服务 ...
- 同城快递公司Postmates近日完成1亿美元融资,美国外卖餐饮迎来一波融资热潮
美国外卖市场尚未出现一家独大的巨头,一部分原因是与中国的外卖平台相比,在美国,外卖平台要克服的难题可能更多. 4个月之前才完成3亿美元融资的美国同城快递公司Postmates近日又完成1亿美元融资,估 ...
- Android零基础入门第71节:CardView简单实现卡片式布局
还记得我们一共学过了多少UI控件了吗?都掌握的怎么样啊. 安卓中一些常用控件学习得差不多了,今天再来学习一个新的控件CardView,在实际开发中也有非常高的地位. 一.CardView简介 Card ...
- Android零基础入门第69节:ViewPager快速实现引导页
在很多APP第一次启动时都会出现引导页,在一些APP里面还会包括一些左右滑动翻页和页面轮播切换的情况.在之前也已经学习了AdapterViewFlipper和ViewFlipper,都可以很好的实现, ...
- Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)
前言 Go语言现在在服务端的网络编程领域越来越火,尤其像IM即时通讯应用这种富网络应用且对服务端网络性能要求极高的场景,很高兴看到Golang发布了1.8正式版,希望在多核架构横行的时代多一些这种顺应 ...
- 深入探索ScrollWindow
最近做WIN32 API开发时发现对ScrollWindow的一些工作原理并不是太清楚,于是做了相关研究,记载下来和大家共同学习. 首先在WM_CREATE中获取系统字符的宽度和高度 case WM_ ...
- 反汇编分析__stdcall和__cdecl的异同
C++代码如下:.h头文件 #pragma once#ifdef DLLTestAPI#else#define DLLTestAPI _declspec(dllimport)#endifint DLL ...
- <第三方>TGRefreshO按照QQ的刷新方式下拉刷新
一 .使用方法: 刷新机制,类似QQ一样的刷新机制,弹簧.橡皮筋下拉刷新控件,类似QQ下拉刷新效果,同时支持其他样式: 首先写上这一句(必须的) #import <TGRefresh ...
- DirectUI的消息流转
Windows是一个基于消息循环的系统,DirectUI同样遵循这样的消息流转.当界面呈现.用户点击.定时器等各种各样的消息一旦进入windows消息循环队列,系统自动调用该窗口的WndProc过程. ...