微信小程序实现自定义picker选择器弹窗内容


Posted in Javascript onMay 26, 2020

微信小程序中定义好的几种picker选择器,不管是日期选择器还是地区选择器,或是其他的都有定死的样式和内容。

例如:

微信小程序实现自定义picker选择器弹窗内容

但是大多数开发程序的情况下还是需要自己写样式的,或是内容的。

例如:

微信小程序实现自定义picker选择器弹窗内容

wxml

<view class="free-btns" style="margin-top: 10vh;background:none;">
 <button class="free-btn" bindtap="toggleDialog">
 选定国家:{{value}}
 </button>
 </view>

 <view class="free-dialog {{ showDialog ? 'free-dialog--show' : '' }}">
 <view class="free-dialog__mask" bindtap="toggleDialog" />
 <view class="free-dialog__container">
 <view style="padding: 5% 5% 15%;">
 <form bindsubmit='submit' bindreset="reset">
 <view bindtap='freetoBack' class="free-button free-dialog-reset">取消</view>
 <view bindtap='freeBack' class="free-button free-dialog-submit">确定</view>

 <radio-group class='free-radios' bindchange="radioChange">
 <label class="free-radio" bindtap="click" wx:for="{{items}}" wx:key="{{items}}" data-id="{{index}}" style="{{index==id?'background:#48c23d;color:#fff;':'background:#fff;color:#000;'}}">
 <radio value="{{item.name}}" name="{{item.value}}"></radio>
 <label class="free-text">{{item.value}}</label>
 </label>
 </radio-group>
 </form>

 </view>
 </view>
</view>

css

.free-dialog__mask {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 10;
 background: rgba(0, 0, 0, 0.7);
 display: none;
}
.free-dialog__container {
 position: fixed;
 left: 0;
 bottom: 0;
 width: 750rpx;
 background: white;
 transform: translateY(150%);
 transition: all 0.4s ease;
 z-index: 11;
}
.free-dialog--show .free-dialog__container {
 transform: translateY(0);
}
.free-dialog--show .free-dialog__mask {
 display: block;
}
/*模态框中的内容*/
.free-button{
 display: inline-block;
 width:50px;
 text-align: center;
 font-size:20px;
 color:#707070;
 margin-bottom:20px;
}
.free-dialog-submit{
 float: right;
 color:#48c23d;
}
radio-group{
 margin:10rpx 0rpx;
}
radio-group>label{
 width:22.5%;
 display: inline-block;
 border:1px solid #ddd;
 padding:10px 0px;
 margin:0px 2px 2px;
}

radio-group label radio{
 width:100%;
 z-index: 3;
 display: none;
}
.checked{
 background:#48c23d;
 color:#fff;
}
radio-group label .free-text{
 width:100%;
 text-align: center;
 display: inline-block;
}

js

Page({
 data: {
 showDialog: false,
 items: [
 { name: '中国', value: '中国' },
 { name: '美国', value: '美国' },
 { name: '巴西', value: '巴西' },
 { name: '日本', value: '日本' },
 { name: '英国', value: '英国' },
 { name: '法国', value: '法国' },
 { name: '韩国', value: '韩国' },
 { name: '俄罗斯', value: '俄罗斯' },]

 },
 /*点击变色*/
 click:function(e){
 var id = e.currentTarget.dataset.id
 var that = this
 that.setData({
 id:id
 })
 },
 onLoad: function (options) {
 var that = this
 that.setData({
 value:'show'
 })
 },
 radioChange: function (e) {
 console.log('radio发生change事件,携带value值为:', e.detail.value)
 var that = this
 that.setData({
 value: e.detail.value
 })
 console.log(this.data.value)
 },
 toggleDialog() {
 this.setData({
 showDialog: !this.data.showDialog
 });
 },
 freeBack:function(){
 var that = this
 if(this.data.value=='show'){
 wx.showModal({
 title: '提示',
 content: '你没有选择任何内容',
 })
 }
 that.setData({
 showDialog: !this.data.showDialog
 })
 },
 freetoBack: function () {
 var that = this
 wx.showModal({
 title: '提示',
 content: '你没有选择任何内容',
 })
 that.setData({
 showDialog: !this.data.showDialog,
 value:'show',
 checked: false,
 })
 },
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用JavaScript获取网页中的js、css、Flash等文件
Dec 20 Javascript
js异或加解密效果代码
Jun 25 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
node.js中的fs.link方法使用说明
Dec 15 Javascript
浅谈JavaScript Date日期和时间对象
Dec 29 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
解析利用javascript如何判断一个数为素数
Dec 08 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
vue 中自定义指令改变data中的值
Jun 02 Javascript
vue3 源码解读之 time slicing的使用方法
Oct 31 Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 Javascript
最新最全的手机号验证正则表达式
Feb 24 Javascript
微信小程序实现漂亮的弹窗效果
May 26 #Javascript
Angular通过指令动态添加组件问题
Jul 09 #Javascript
js实现左右两侧浮动广告
Jul 09 #Javascript
vue-router中scrollBehavior的巧妙用法
Jul 09 #Javascript
JavaScript解决浮点数计算不准确问题的方法分析
Jul 09 #Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 #Javascript
JavaScript实现创建自定义对象的常用方式总结
Jul 09 #Javascript
You might like
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
js定时器实例分享
2016/12/20 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
初学python数组的处理代码
2011/01/04 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
旅游管理毕业生自荐信
2013/11/05 职场文书
初中地理教学反思
2014/01/11 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
专科生就业求职信
2014/06/22 职场文书
教师个人成长总结
2015/02/11 职场文书
前台岗位职责
2015/02/13 职场文书
安全生产感想
2015/08/07 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
MySQL修炼之联结与集合浅析
2021/10/05 MySQL