微信小程序前端页面之-现场案例
2024-05-21Web前端
微信小程序开发过程中,用到了,栏目点击-对应相关产品得页面,根据api返回接口,实现点击栏目,对应相关得产品展示,下面请看相关代码。
相关页面展示:

微信小程序wxml
<view class="cate">
<scroll-view scroll-x show-scrollbar style="width: 100%;height: 100rpx; white-space: nowrap;">
<view class="cate_item {{idd==actions?'active':''}}" data-index="999" data-id="999" bindtap="find_item" style="display: inline-block;margin-left: 30rpx; ">全部</view>
<view class="cate_item {{item.id==actions?'active':''}}" wx:for="{{data}}" wx:key="id" wx:for-item="item" data-id="{{item.id}}" data-index="{{index}}" bindtap="find_item" style="display: inline-block; " >{{item.name}}</view>
</scroll-view>
</view>
<view class="Atlas">
<block wx:if="{{actions == 999}}">
<view class="Atlas_item" wx:for="{{anli}}" wx:for-item="items" wx:key="id" >
<image bindtap="previewImage" mode="aspectFill" src="https://xcx.huadongmaglev.com/{{items.pic}}" alt="" > </image>
<view class="Atlas_item_positi" >
{{items.name}}
</view>
</view>
</block>
<block wx:else="">
<view class="Atlas_item" wx:for="{{data[curIndex].list}}" wx:for-item="items" wx:key="id" >
<image bindtap="previewImage" mode="aspectFill" src="https://xcx.huadongmaglev.com/{{items.pic}}" alt="" > </image>
<view class="Atlas_item_positi" >
{{items.name}}
</view>
</view>
</block>
</view>wxss
/*分类*/
.cate{
height: 100rpx;
line-height: 100rpx;
width: 100%;
}
.cate_item{
margin-right: 50rpx;
height: 100rpx;
}
.active{
color: #315CC4;
}
/*滚动条*/
::-webkit-scrollbar {
/*滚动条整体样式*/
width: 4px !important;
height: 1px !important;
overflow: auto !important;
background: #ccc !important;
-webkit-appearance: auto !important;
display: block;
}
::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 10px !important;
box-shadow: inset 0 0 5px #315CC4 !important;
background: #7b7979 !important;
}
::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
border-radius: 10px !important;
background: #FFFFFF !important;
}
.Atlas{
display: flex;
justify-content: space-around;
flex-wrap:wrap;
margin: 20rpx 0;
width: 100%;
}
.Atlas_item{
height: 240rpx;
margin-bottom: 30rpx;
position:relative;
width: 43%;
}
.Atlas_item image{
height: 100%;
}
.Atlas_item_positi{
position:absolute;
width:100%;
height:50rpx;
line-height:50rpx;
z-indent:2;
left:0;
bottom:0;
background-color: #2B5C80;
text-align: center;
font-size: 30rpx;
color: #ffffff;
}js
/**
* 页面的初始数据
*/
data: {
findList:"",
data:"",
actions:"",//点击的ID
curIndex: 0,//标识
anli:"",
idd:999
},
点击获取id
find_item(e){
const id=e.currentTarget.dataset.id;//获取点击的ID
let index=e.currentTarget.dataset.index;//标识
this.setData({
actions:id,
curIndex:index
})
}
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const that = this
//获取初始数据
wx.request({
url: 'xxxxx',
method:"get",
success:function(res){
console.log(res.data.haha);
that.setData({
anli: res.data.haha[0],
data: res.data.haha[1]
})
}
})
},php-api接口端
//案例--全部
public function scene(Request $request){
$list=db('scenecate')->select();//栏目
$anli=db('scene')->select();//全部产品
$res=[];
foreach ($list as $k =>$v){
$res[$k]= $v;
$cc= db('scene')->where('cate_id', $v['id'])->select();
$res[$k]['list']=$cc;
}
return json(['status'=>'success','msg'=>'获取成功','haha'=>array($anli,$res)]);
} 很赞哦! ()
