您的当前位置:首页正文

微信小程序实现单选功能

2020-11-27 来源:趣尚旅游网

初次接触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,个人感觉这种写法有一定的缺陷,希望有大牛指正。

显示全文