网络编程
位置:首页>> 网络编程>> JavaScript>> 微信小程序实现单选功能

微信小程序实现单选功能

作者:半桶水技术  发布时间:2024-07-17 23:13:51 

标签:微信小程序,单选

初次接触js弄了好长时间才出来效果,但是还是觉的不做梦完美,希望有更好的方式进行交流;实现效果如下:

虽说这个小功能但是对于我这个新手来说还是有点难;具体代码如下:

WXML:


<view class="backgrout-bj">
 <view class="header">
   最多可增加4个功能入口
 </view>
 <view>
   <block wx:for="{{model}}">
      <view class="model-list" bindtap="selectClick" id="{{index}}">
        <view>
         <image class="middle-img" src="{{item.image}}"></image>
       </view>
        <view class="middle-title">
        <view><text>{{item.title}}</text></view>
          <view class="middle-sub"><text>{{item.sub_title}}</text></view>
        </view>
        <!--<view hidden="{{item.selectImage}}">
         <image src="../image/xuanze.png" class="seletedImage"></image>
        </view>-->
        <view wx:if="{{item.selectImage==true}}">
         <image src="../image/xuanze.png" class="seletedImage"></image>
        </view>
     </view>

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

从大的分科分为两个大块一个是上面的header  剩下的列表是另外一个部分,列表中又分为若干个小块,本打算写个模版,但是感觉这样更清晰 

WXSS:


.backgrout-bj{

flex-wrap: wrap;  

}
.backgrout-bj .header{

display: block;
 font-size: 13px;
 text-align: center;
 color: orange;
 padding: 10px;
 width: 100%;
}
.model-list{

border-bottom: 1px solid lightgrey;
 display: flex;
 align-items: center;
}

.middle-img{
 padding: 10px;
 width: 70px;
 height: 70px;
 display: block;
 flex: 1;
 overflow: hidden;
}
.middle-title{
margin: 10px;
display: block;

}
.middle-sub{
 font-size: 14px;
 color: lightgray;
 margin-top: 10px;
}

.seletedImage{
 width: 20px;
 height: 20px;
}

可能有些乱,希望大牛纠正;

JS:


Page({
data:{
 // text:"这是一个页面"
 model:[
  {
   image:'../image/guapai_icon.png',
   title:'挂牌',
   sub_title:'进行松香交易,松香买卖。。。',
   selectImage:false
  },
  {
   image:'../image/tianjia_maoyi.png',
   title:'贸易',
   sub_title:'根据需求,快速的为您提供服务',
   selectImage:true
  }
 ]

},
selectClick:function(event){

// this.data.model[event.currentTarget.id].selectImage

for(var i = 0; i < this.data.model.length;i++){
   if(event.currentTarget.id == i){

this.data.model[i].selectImage = true
     }
     else
    {

this.data.model[i].selectImage = false
    }

}
   this.setData(this.data)

},
onLoad:function(options){
 // 页面初始化 options为页面跳转所带来的参数

},
onReady:function(){
 // 页面渲染完成
},
onShow:function(){
 // 页面显示
},
onHide:function(){
 // 页面隐藏
},
onUnload:function(){
 // 页面关闭
}
})

主要思路为循环数组的所有原素,当点击的id和i值想等的时候,就把里面的selectImage属性改为true 其他的改为false,个人感觉这种写法有一定的缺陷,希望有大牛指正。

来源:https://blog.csdn.net/d617973306/article/details/52945623?utm_source=blogxgwz7

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com