微信小程序实现单选功能
程序员文章站
2023-08-17 13:56:45
初次接触js弄了好长时间才出来效果,但是还是觉的不做梦完美,希望有更好的方式进行交流;实现效果如下:
虽说这个小功能但是对于我这个新手来说还是有点难;具体代码如下:
w...
初次接触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,个人感觉这种写法有一定的缺陷,希望有大牛指正。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 解决vue的变量在settimeout内部效果失效的问题
下一篇: 骨折禁忌吃什么,你别吃错了