1.1、列表选择器:picker
2.从底部弹起的滚动选择器,现支持五种选择器,通过mode(模式)来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。
3.普通选择器:
4.语法:mode=selector
5.样式:
6.属性:
代码:wxml:viewclass="section"viewclass="section__title"普通选择器/viewpickermode=”selector”bindchange="bindPickerChange"value="{{index}}"range="{{array}}"viewclass="picker"当前选择:{{array[index]}}/view/picker/viewJs代码:Page({data:{array:['美国','中国','巴西','日本'],objectArray:[{id:0,name:'美国'},{id:1,name:'中国'},{id:2,name:'巴西'},{id:3,name:'日本'}],index:0}7.绑定代码:
bindPickerChange:function(e){console.log('picker发送选择改变,携带值为',e.detail.value)this.setData({index:e.detail.value})},8.一个对象数组要注意的地方:
1.pickerbindchange="bindPickerChange"value="{{index}}"range="{{objectArray}}"strongspanstyle="color:#ff0000;"range-key="{{name}}"/span/strong2.viewclass="picker"3.当前选择:{{objectArray[index].name}}4./view5./picker9.修改:
1.pickerbindchange="bindPickerChange"value="{{index}}"range="{{objectArray}}"spanstyle="color:#ff0000;"range-key="{{'name'}}"/span2.viewclass="picker"3.当前选择:{{objectArray[index].name}}4./view5./picker10.多列选择器:
11.语法:mode=multiSelector
12.属性:
13.示例:
14.代码:
15.列改变代码:
bindMultiPickerColumnChange:function(e){console.log('修改的列为',e.detail.column,',值为',e.detail.value);vardata={multiArray:this.data.multiArray,multiIndex:this.data.multiIndex};data.multiIndex[e.detail.column]=e.detail.value;switch(e.detail.column){case0:switch(data.multiIndex[0]){case0:data.multiArray[1]=['扁性动物','线形动物','环节动物','软体动物','节肢动物'];data.multiArray[2]=['猪肉绦虫','吸血虫'];break;case1:data.multiArray[1]=['鱼','两栖动物','爬行动物'];data.multiArray[2]=['鲫鱼','带鱼'];break;}data.multiIndex[1]=0;data.multiIndex[2]=0;break;case1:switch(data.multiIndex[0]){case0:switch(data.multiIndex[1]){case0:data.multiArray[2]=['猪肉绦虫','吸血虫'];break;case1:data.multiArray[2]=['蛔虫'];break;case2:data.multiArray[2]=['蚂蚁','蚂蟥'];break;case3:data.multiArray[2]=['河蚌','蜗牛','蛞蝓'];break;case4:data.multiArray[2]=['昆虫','甲壳动物','蛛形动物','多足动物'];break;}break;case1:switch(data.multiIndex[1]){case0:data.multiArray[2]=['鲫鱼','带鱼'];break;case1:data.multiArray[2]=['青蛙','娃娃鱼'];break;case2:data.multiArray[2]=['蜥蜴','龟','壁虎'];break;}break;}data.multiIndex[2]=0;console.log(data.multiIndex);break;}multiIndex:[0,0,0],date:'2016-09-01',time:'12:01',region:['广东省','广州市','海珠区'],customItem:'全部'16.具体值改变代码:
bindMultiPickerChange:function(e){console.log('picker发送选择改变,携带值为',e.detail.value)this.setData({multiIndex:e.detail.value})},17.时间选择器:
18.语法:mode=time
19.例子:
20.属性:
21.代码:
viewclass="section"viewclass="section__title"时间选择器/viewpickermode="time"value="{{time}}"start="09:01"end="21:01"bindchange="bindTimeChange"viewclass="picker"当前选择:{{time}}/view/picker/view22.Js代码:
bindTimeChange:function(e){console.log('picker发送选择改变,携带值为',e.detail.value)this.setData({time:e.detail.value})},23.日期选择器:
24.语法:mode=date
25.属性:
26.代码:
viewclass="section"viewclass="section__title"日期选择器/viewpickermode="date"value="{{date}}"start="2015-09-01"end="2017-09-01"bindchange="bindDateChange"viewclass="picker"当前选择:{{date}}/view/picker/view27.Js代码:
bindDateChange:function(e){console.log('picker发送选择改变,携带值为',e.detail.value)this.setData({date:e.detail.value})},28.一篇有秒的博客:
29.http://www.php.cn/xiaochengxu-386138.html
30.Picker-view:内嵌列表选择器
31.属性:
32.语法:
picker-viewindicator-style="height:50px;"style="width:100%;height:300px;"value="{{value}}"bindchange="bindChange"picker-view-columnviewwx:for="{{years}}"style="line-height:50px"{{item}}年/view/picker-view-columnpicker-view-columnviewwx:for="{{months}}"style="line-height:50px"{{item}}月/view/picker-view-columnpicker-view-columnviewwx:for="{{days}}"style="line-height:50px"{{item}}日/view/picker-view-column/picker-view33.Js代码:
constdate=newDate()constyears=[]constmonths=[]constdays=[]for(leti=1990;i=date.getFullYear();i++){years.push(i)}for(leti=1;i=12;i++){months.push(i)}for(leti=1;i=31;i++){days.push(i)}Page({data:{years:years,year:date.getFullYear(),months:months,month:2,days:days,day:2,value:[9999,1,1],},bindChange:function(e){constval=e.detail.valuethis.setData({year:this.data.years[val[0]],month:this.data.months[val[1]],day:this.data.days[val[2]]})}})Tips34.1.tip:滚动时在iOS自带振动反馈,可在系统设置-声音与触感-系统触感反馈中关闭
Radio:单项选择器:语法:radio-groupclass="radio-group"bindchange="radioChange"labelclass="radio"wx:for="{{items}}"radiovalue="{{item.name}}"checked="{{item.checked}}"/{{item.value}}/label/radio-group属性:Js代码: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)}})内部逻辑代码:Slider:滚动选择器:样式:语法:viewclass="sectionsection_gap"textclass="section__title"设置step/textviewclass="body-view"sliderbindchange="slider2change"step="5"//view/view属性:详细代码:viewclass="sectionsection_gap"textclass="section__title"设置step/textviewclass="body-view"sliderbindchange="slider2change"step="5"//view/viewviewclass="sectionsection_gap"textclass="section__title"显示当前value/textviewclass="body-view"sliderbindchange="slider3change"show-value//view/viewviewclass="sectionsection_gap"textclass="section__title"设置最小/最大值/textviewclass="body-view"sliderbindchange="slider4change"min="50"max="200"show-value//view/viewvarpageData={}for(vari=1;i5;i++){(function(index){pageData['slider'+index+'change']=function(e){console.log('slider'+'index'+'发生change事件,携带值为',e.detail.value)}})(i)}Page(pageData)Switch:开关选择器:语法:viewclass="body-view"switchcheckedbindchange="switch1Change"/switchbindchange="switch2Change"//viewviewswitch类型开关/viewswitchtype="switch"checked="true"bindchange="listenerSwitch"/Js代码:Page({switch1Change:function(e){console.log('switch1发生change事件,携带值为',e.detail.value)},switch2Change:function(e){console.log('switch2发生change事件,携带值为',e.detail.value)}})35.Textarea:多行输入框
36.语法:
viewclass="section"textareabindblur="bindTextAreaBlur"auto-heightplaceholder="自动变高"//view37.属性:
BugTip38.1.bug:微信版本6.3.30,textarea在列表渲染时,新增加的textarea在自动聚焦时的位置计算错误。
39.2.tip:textarea的blur事件会晚于页面上的tap事件,如果需要在button的点击事件获取textarea,可以使用form的bindsubmit。
40.3.tip:不建议在多行文本上对用户的输入进行修改,所以textarea的bindinput处理函数并不会将返回值反映到textarea上。
41.4.tip:textarea组件是由客户端创建的原生组件,它的层级是最高的,不能通过z-index控制层级。
42.5.tip:请勿在scroll-view、swiper、picker-view、movable-view中使用textarea组件。
43.6.tip:css动画对textarea组件无效。
微信小程序的几个表单组件-小程序多页表单-小程序表单制作
浏览量:2330
时间:
来源:Xieyp040
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










