微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

例如:

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

例如:

wxml

rush:xml;">

<view class="free-dialog {{ showDialog ? 'free-dialog--show' : '' }}">

 <ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a>-group class='free-ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a>s' bindchange="ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a>Change"&gt;
  <label class="free-ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a>" bindtap="click" wx:for="{{items}}" wx:key="{{items}}" data-id="{{index}}" style="{{index==id?'background:#48c23d;color:#fff;':'background:#fff;color:#000;'}}"&gt;
   <ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a> value="{{item.name}}" name="{{item.value}}"&gt;</radio>
   <label class="free-text"&gt;{{item.value}}</label>
  </label>
 </radio-group>
</form>

css

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

rush: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: '提示',})
that.setData({
showDialog: !this.data.showDialog,value:'show',checked: false,})
},})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。