微信小程序开发-下拉框选项select option写法

微信小程序开发-下拉框选项select option写法,第1张

写小程序时候,经常遇到使用下拉框选项,不过每次都手写很麻烦,所有我就发一个例子吧,因为我包在其他模块中,所有样式不知道有没有复制全,大家见谅!

·

每一个值的高度等你们可以随意设置,看个人喜好。

这个原理很简单,首先准备一些标签,准备一张图片(展开与折叠用),数据绑定就不说了。

设置变量:selectShow, 控制下拉框列表是否显示隐藏,我设置的是高度,显示就设置高度,不显示就设置为0; index,设置显示第几个数据,默认可以设置为0,根据需求; selectData,你要选择的数据组[];

当点击三角时候,设置下拉框option选项显示(高度)。当点击选项值的时候,设置全局变量的下标值,标签中会根据下标在数组中选中,绑定数据显示, 然后设置下拉框option选项不显示(高度0)。

option总高度设置,根据你有多少选项以及selectShow值是否显示,我设置的是小于5个时候默认高度325rpx,超过五个时候,选项组length 每一个50rpx,

height:{{selectShow?(selectData.length>5?325:selectData.length 50):0}}rpx

这个是写的一个样式,我的图片是倒三角,当展开时候,添加一个样式,rotate180度。

class='select_img {{selectShow&&"select_img_rotate"}}' src='../../images/b2.png'

这个是我的选项内容是一组数组,所有我循环出来,顺便绑定一个数据到标签中data-index,也就是这个值在数组中的下标,点击时候获取方便用。然后添加一个事件catchtap='optionTap'。

wx:for='{{selectData}}' wx:key='this' data-index='{{index}}' catchtap='optionTap'

wxss样式:

不解释,,看设计需求写样式。不过大多通用。

写程序时候,很多地方会用到时间选项,送大家一个函数。获取一天时间分割数组。["00:00","00:05","00:10"....]参数minute ,设置隔几分钟分割。时间格式你们可以自己改。

参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

wxml

js

效果

普通选择器

多列选择器

时分秒(时间选择器)

年月日 日期选择器

省市选择器

传值问题:

微信小程序picker选择器传值

以最简单的普通选择器为例

wxml

js

wxss

array: ['工作', '放假', '加班', '调休'],对应的int值分别是0,1,2,3

在实际使用中

例子

微信小程序提交form表单内容

wxml

js

css

点击完成的时候,将所有填写的值传给后端

在小程序内存在列表等形式的页面内增加下拉刷新功能,提高用户体验感,加强界面 *** 作与交互性;

<a name="gXpSi"></a>

1、小程序提供的下拉刷新(无法自定义刷新动画)

可能遇到的问题:

1)下拉时没有出现刷新的点点动画

可能是因为设置的页面背景色与点点动画一致导致无法看到动画,可以在页面配置中配置背景文字颜色:

2、scroll-view内refresher-enabled属性开启自定义刷新

基本库要求:2.10.1

官方文档: scroll-view

3、原始scroll-view自定义下拉实现(为兼容2.10.1一下的下拉刷新

通过监听手指移动距离控制需要下拉模块的下拉距离,主要事件bindtouchstart,bindtouchmove和bindtouchend,bindtouchmove记录手指开始下拉时的起始位置,bindtouchmove计算下拉距离,bindtouchend判断并实现刷新方法。

我的自定义下拉组件(Taro框架)

<a name="fEutw"></a>

1、与ios上橡皮筋效果冲突导致下拉无法触发自定义刷新

页面配置 disabledScroll ,禁止页面滚动,同时页面内的列表滚动需要自己再优化调整;

2、scroll-view的scroll问题

需要设定固定高度然后纵向滚动。[我都忘了是啥问题了……

3、页面下拉刷新结束后再滑动列表出现闪屏

在禁止页面橡皮筋效果后,如果页面内存在需滚动区域使用scroll-view效果比view更加流畅;

不设定固定高度不会发生闪屏但是页面滚动非常不流畅;

4、使用官方提供的scroll-view自定义的动画时,当scroll-view内容不足充满一屏时下拉出现问题

将scroll-view设置固定高度后,将其子元素的高度设置多一像素达到隐形撑满的效果。

5、scroll-view内fixed元素问题

ios内scroll-view内fixed元素层级会出现问题,可能出现被遮挡的问题。

6、当页面内局部需要下拉刷新时可能导致内外两个滚动条问题

一个是页面滚动条一个是scroll-view滚动条,由于 *** 作的时候触发的是scroll-view部分的滚动导致页面滚动无法进行从而影响页面其他 *** 作。

Q5和Q6可以合并成一个问题,当页面需要一个吸顶 *** 作时,即滑动距离超过阈值时导航条吸顶的功能,若scroll-view将整个页面包含就会出现Q5的问题,可能导致在ios内吸顶的导航栏无法显示,若scroll-view只包含需要刷新的部分则会出现Q6的两个滚动条的问题。

1)在页面未触发吸顶时禁止scroll-view模块下拉,触发后放开滚动,同时会导致无法下拉。

2)页面滚动触发,scroll-view模块可下拉,但是滚动区域无法滚动,且下拉动画只显示一次。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10985764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存