137-3385-8848(同微信)

小程序改变radio大小,微信小程序修改radio大小

2022-04-21 管理员

 
小程序自带的radio似乎是不能调整大小的,在项目中使用时很不方便,时常会影响整个界面的效果。为了解决这个问题,使用text标签结合icon标签实现了radio效果。

接下来看看如何实现的吧。

思路: 
左边一个< text>右边一个< icon>来实现radio效果。 
以列表方式排列所有地区area,给地区设置isSelect属性,如果isSelect=true则显示的icon 的type为success否则icon的type显示circle。 
当text被点击时,根据area的id来确定被点击的text,被点击的text对应的area的isSelect属性设置为true否则设置为false。

先附上wxml文件代码部分:

 

  1. <scroll-view hidden="{{hideArea}}" scroll-y="true" style="height: 100px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
  2. <view class="radio-group" >
  3. <label wx:for="{{areas}}" wx:for-item="area">
  4. <text bindtap="selectAreaOk" data-areaId="{{area.id}}">{{area.name}}</text>
  5. <icon wx:if="{{area.isSelect}}" type="success" size="10"/>
  6. <icon wx:else type="circle" size="10"/>
  7. </label>
  8. </view>
  9. </scroll-view>

先设定一个scroll-view,设置选择框的父容器位置大小其中radio-group的wxss设定了容器内字体大小已经排练方式

 

  1. .radio-group{
  2. font-size: 26rpx;
  3. display: flex;
  4. flex-direction: column;
  5. }

接下来遍历了areas数组用来显示 地区名称+icon 其中为地区名称 < text>设置了 bindtap、data-areaId 。这里要跟js进行数据交互,其中data-areaId为传递过去的参数。

根据area对象的isSelect属性来确定显示的< icon>,其中一个是圆圈,一个是绿色的对勾。示例中icon的大小设置为10,这里可以随意改变其大小。

接下来是js代码部分。

 

  1. //选择区域
  2. selectAreaOk: function(event){
  3. var selectAreaId = event.target.dataset.areaid;
  4. var that = this
  5. areaId = selectAreaId
  6. for(var i = 0;i<this.data.areas.length;i++){
  7. if(this.data.areas[i].id==selectAreaId){
  8. this.data.areas[i].isSelect=true
  9. }else{
  10. this.data.areas[i].isSelect=false
  11. }
  12. }
  13. this.setData({
  14. areas:this.data.areas,
  15. skus:[],
  16. hideArea:true
  17. })
  18. getSkus(that,selectAreaId)
  19. }

在js代码里面接收text的点击事件并接收到传递过来的参数,遍历areas数组,将选中的area的isSelect属性设置为true,其余设置为false,再刷新wxml的areas部分。

ok就这么简单。

上一篇:小程序服务类目可以修改吗
下一篇:微信小程序工具第三方平台,小程序官方认可的第三方开发商
相关资讯 Releva ntnews
解决方案 Solutions
相关热点 Hot spot
郑州做排名中正确使用关键词优化的方法
  1. 我们的优势
  2. 我们的实力
  3. 选择我们的理由
咨询电话(微信同号)

137-3385-8848(同微信)

豫ICP备16014343号-1

Copyright © 2017-2022 版权所有 酷微科技 Rights Reserved

电话咨询 在线咨询 服务项目 SEO优化