要有遥不可及的梦想,也要有脚踏实地的本事。----------- Grapefruit.Banuit Gang(香柚帮)


柚子写项目遇到了一个问题,就是微信小程序官方文档上面的弹框组件picker,它的样式不可操控,当picker的选择项的内容过长时,会显示省略号,但是我的需求是换行展示全部的,但是查了很多博客资料发现,不管怎么操作都是不能更改picker组件的样式,最后没办法,就只能自定义了一个和picker一摸一样的组件,自己写的组件,想怎么改样式就怎么改样式,下面开始说步骤:

1,首先页面中我们要先写一个按钮用来触发picker组件的显示与隐藏,不仅仅局限于按钮,只要能写点击事件的当然都可以


<button  bindtap="toggle">picker</button> //写一个触发picker的按钮,为按钮写点击事件

2,自定义picker组件的布局:

 <!-- 自定义picker --><!-- catchtouchmove为true时禁止页面滑动,只在手机上有效果,微信开发者工具没有效果 --><view class='picker' catchtouchmove="true"><!-- 蒙层,mongolia_show是控制蒙层的显示隐藏 --><view class='mongolia {{mongolia_show}}' bindtap='mongolia'></view><!-- 弹出框,translateY是控制弹出框出现的动画效果,从底部弹出 --><view class='content_popup {{translateY}}'></view></view>

3,完善picker组件布局的样式:

/* 蒙层 */
.mongolia{width: 100%;height: 100%;position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 10;background: rgba(0, 0, 0, 0.4);display: none;
}
.mongolia_show{display: block;
}
/* 弹出框 */
.content_popup{position: fixed;left: 0;bottom: 0;width: 100%;height: 100%;background: #FFF;transform: translateY(100%);transition: all 0.6s ease;z-index: 11;
}
.translateY{transform: translateY(50%);
}

4,剩下的就是js部分了,主要是控制显示隐藏的


data(){mongolia_show: '',translateY: '',
},
// 点击按钮
toggle() {this.setData({mongolia_show: 'mongolia_show',})setTimeout(() => {this.setData({translateY: 'translateY'})}, 1)
},
// 点击蒙层,隐藏picker
mongolia(){this.setData({mongolia_show: '',translateY: ''})
},

注:关于这一块setTimeout的方法,柚子目前只想到这一种方法,如果不加setTimeout,就不会有从底部弹出的动画效果,而是会直接显示出来,如果有哪位大神有更好的方法,也可以教一下柚子,感激不尽!!!

好了,到此为止,picker组件已经完成,你可以在你的弹框里写你想写的东西,样式也可以根据你的需求任意改变了!!!

最后,希望能帮助到一些朋友!!!

微信小程序自定义picker弹框组件相关推荐

  1. 微信小程序自定义授权弹框

    微信小程序自定义授权弹框 最近微信获取用户信息的接口有调整,就是这货:wx.getUserInfo(OBJECT),文档描述如下: 此接口有调整,使用该接口将不再出现授权弹窗,请使用 <butt ...

  2. html自定义js程序,JS中微信小程序自定义底部弹出框

    实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...

  3. 微信小程序之底部弹框预约插件

    代码地址如下: http://www.demodashi.com/demo/13982.html 一.前期准备工作: 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq. ...

  4. 微信小程序 select 下拉框组件

    一.源码地址 GitHub - imxiaoer/WeChatMiniSelect: 微信小程序 select 下拉框组件 二.效果图 录屏图片质量较差,所以大家会看到残影(捂脸) 三.组件源码 1. ...

  5. 关于微信小程序自定义Picker样式的picker-view

    这里给大家介绍一下在开发微信小程序中使用到需要自定义样式的picker(picker-view)的基本用法 这里就是一个很简单的自定义样式的Picker. 下面贴出代码 wxml: <picke ...

  6. 微信小程序——自定义下拉框

    微信小程序本身并没有自带的下拉框组件,我们可以通过view标签自定义一个下拉框.(仅供参考) 目录 文件目录 实现效果 实现逻辑 设置数据 设置默认选项 实现弹出下拉框 提供选项值 设置所选值 源码 ...

  7. 微信小程序自定义picker多列选择器

    需求说明 使用 mpvue 实现自定义的 picker 多列选择器. 1.数据结构说明 根据 picker 的数据特征,需要构造一个如下所示的数据结构.data数组中的三个元素,分别用于渲染 pick ...

  8. 微信小程序 - 商城项目 - 搜索框组件

    搜索框组件 引入自定义的搜索框组件 引入扩展组件 需要对搜索框组件实现一个粘性布局功能,引入官方的扩展组件 npm 安装扩展组件 引入扩展组件 构建 npm 实现粘性布局(在iphone5上可以实现, ...

  9. 微信小程序 -- 自定义底部弹出框(带动画--滑入滑出)

    实现这么一个功能,点击选项进行选择,效果是从底部弹出选项框(带滑出动画),选择了某项或者点击其他地方,隐藏(带滑出动画).效果图如下: 可适用于任何场景,如普通选项(如图)或者类似商城小程序选择商品属 ...

最新文章

  1. mysql执行底层_天天写order by,你知道Mysql底层如何执行吗?
  2. vueRouter-命名视图
  3. 说一说ffmpeg到处都在使用的ff_thread_once函数
  4. chrome浏览器解决ajax跨域问题
  5. python饼状图教程_Python数据可视化:饼状图的实例讲解
  6. 4.1 SE38数据类型
  7. Android 4 2官方文档chm格式下载
  8. 神经网络----笔记(1)
  9. 单片机C语言控制16*16LED显示屏,基于单片机的pwm控制16*16led点阵亮度调节怎么做啊,...
  10. ansys toolkit教程_「实用」ANSYS电磁仿真工具推荐,做仿真的你可以试试
  11. My Fifty-Seventh Page 递增子序列 - By Nicolas
  12. python 命令运行环境下 ModuleNotFoundError: No module named 'Test'
  13. Raki的读paper小记:Prompting ELECTRA: Few-Shot Learning with Discriminative Pre-Trained Models
  14. 74LS148 编码器 【数字电路】
  15. Request Response
  16. 计算机专业可以考小学老师吗,计算机专业能报考湖南小学教师资格证吗?
  17. 解决Nginx出现 403 Forbidden的办法
  18. 人脸识别之三检测视频流(摄像头)中的人脸
  19. 这才叫大数据!腾讯首次公布微信数据(完整版)
  20. 结构思考力系列:透过结构看清晰思考(转载)

热门文章

  1. 北京大气污染PM2.5预测(LSTM)
  2. 人工智能指示未来方向 科学普及需要全民化
  3. PC的足迹--新的篇章《二》
  4. 一个奇鸽破解版 :超好用的工具箱(附一个奇鸽App下载)
  5. 智能网联汽车计算平台关键算法综述
  6. 第4章第7节nbsp;二进制信号量(二)
  7. 多线程设计模式总结(二)
  8. 自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom
  9. 【PyCharm编程练习】使用PyCharm进行编程
  10. 编程是什么 学习编程的好处