微信小程序实现自定义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 字符串连接的性能问题(多浏览器)
Nov 18 Javascript
JS前端框架关于重构的失败经验分享
Mar 17 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
vue弹窗组件的实现示例代码
Sep 10 Javascript
Js和VUE实现跑马灯效果
May 25 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
微信小程序实现漂亮的弹窗效果
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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
JavaScript库 开发规则
2009/01/31 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
js实现文本上下来回滚动
2017/02/03 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
python plotly绘制直方图实例详解
2019/07/22 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
李培根演讲稿
2014/05/22 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
优秀教师个人材料
2014/12/15 职场文书
投诉信格式范文
2015/07/02 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
高中生物教学反思
2016/02/20 职场文书