微信小程序--列表展示

这篇具有很好参考价值的文章主要介绍了微信小程序--列表展示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小知识:

wx:for="{{list}}"用来循环数组。

wx:for-item=‘变量名(随便起)’   它是指定循环数据当前的变量名,可以通过  {{变量名.属性}} 展示数组的元素。

wx:for-index=‘变量名(随便起)’,它是指向当前元素的下标名,可以在其他事件中定义自定义事件(data-xxx='{{变量名}}',,该自定义属性可以在参数e下面打印出来)获取该下标。

 思考:二维甚至多维数组应该如何遍历?

例题: 

列表数据如图所示: 

微信小程序列表样式,微信小程序,微信小程序,前端 

例题采用了scroll-view和swiper组件。代码如下:

new_canteen.js:

// pages/canteen/new_canteen.js
const app = getApp();
Page({
    /** 页面的初始数据*/
    data: {
        navigationSetting:{
            title:'食堂',
            height: app.globalData.navBarHeight,
            paddingTop: app.globalData.statusBarHeight,
            // backgroundColor:'red',
            size:'default'
        },
        tabList: ['一粟堂', '三清园', '七品居','九华厅'],
        tabNow: 0, //当前选中的tab标签索引
        search: "",
        tradeList: [['从前说','千千万万','千千万万','千千万万','千千万万'],['我记得']], //对应tab显示的商家列表
        list:[ //搜索后的list内容列表
            {Name:"一粟堂",arr:[
              {title: '烧卤家族', sale: 358, rating: 4.9, consumption: 15},
              {title: '烧卤家族', sale: 518, rating: 4.9, consumption: 35},
              {title: '烧卤家族', sale: 138, rating: 4.9, consumption: 23},
            ]},
            {Name:"三清园",arr:[
              {title: '汉味小吃', sale: 156, rating: 4.9, consumption: 25},
              {title: '汉味小吃', sale: 324, rating: 4.9, consumption: 17},
            ]},
            {Name:"七品居",arr:[
                {title: '古茗', sale: 156, rating: 4.9, consumption: 25},
                {title: '古茗', sale: 351, rating: 4.9, consumption: 19},
                {title: '古茗', sale: 324, rating: 4.9, consumption: 17},
            ]},
            {Name:"九华厅",arr:[
                {title: '汉味小吃', sale: 156, rating: 4.9, consumption: 25},
            ]}
        ],
    },
    selectTab (e) { //切换不同的tab
        this.setData({
            tabNow: e.currentTarget.dataset.id
        })
    },
    handleSwiperChange(e) { //对应改变tab
        this.setData({
          tabNow: e.detail.current
        })
    },
    getContent(e) {
        console.log("主页:",e)
        this.setData({
          search: e.detail
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})

new_canteen.json:

{
  "usingComponents": {
    "navigation":"../../components/navbar/navbar",
    "search": "/components/search/search"
  },
  "navigationStyle": "custom",
  "navigationBarTextStyle": "black"
}

new_canteen.wxml:

<!--pages/canteen/new_canteen.wxml-->
<navigation defaultSetting="{{navigationSetting}}"></navigation>

<!--pages/list/trade_company.wxml-->
<!-- <view class="head flex-row">
  <view class="head-title">食堂</view>
</view> -->
<scroll-view scroll-y class="container">
    <view class="container-head">
        <!--Tab选项卡-->
        <scroll-view scroll-x class="scroll_view" scroll-with-animation="true" enable-flex="true"> 
            <view class="tab"> 
                <view class="tab_item {{ tabNow === index ? 'select' : '' }}" wx:for="{{ tabList }}" data-id="{{ index }}" wx:key="index" bindtap="selectTab"> {{ item }} 
                </view> 
            </view>
        </scroll-view>
    </view>
    <search bind:Searchcontent="getContent" ></search>
    <!--下方内容显示-->
    <swiper class="container-swiper" current="{{tabNow}}" bindchange="handleSwiperChange">
        <swiper-item wx:for="{{list}}" wx:key="index" >
            <scroll-view class='container-swiper-sc' enable-flex="true">
                <view class="mendian-list" style="width: 94%; margin-left: 3%;">
                    <block wx:for="{{ list[tabNow].arr }}" wx:for-item="map">
                        <navigator class="mendian-info" url="../canteen/detail">
                            <image class="thumb" src="../../img/大活.png" pb="100"></image>
                            <div class="mendian-text">
                                <div class="title">{{map.title}}</div>
                                <view class="qisong-juli flex-between" style="font-size: small;">
                                    <image src="../../img/ratingstar.png" mode="aspectFit" style="width: 15px;height: 15px;"></image>
                                    <text style="margin-left: 5px; color: red; background-color: pink;">{{map.rating}}</text>
                                    <text style="margin-left: 15px;">月售:{{map.sale}}</text>
                                    <view>人均消费:{{map.consumption}}元/人</view>
                                </view>
                            </div>
                        </navigator>
                    </block>
                </view>

            </scroll-view>
        </swiper-item>
    </swiper>
    
</scroll-view>

new_canteen.wxss:

/* pages/canteen/new_canteen.wxss */
page {
    height: 100%;/*页面高度为屏幕的高度*/
}
.head {
  position: fixed;
    height: 13%; 
    width: 100%;
    color: #333;
    font-size: 30rpx;
    font-weight: bold;
    padding-bottom: 10rpx;
    box-sizing: border-box;
}
.head-title {
    position: relative;
    display: inline-block;
    height: 100%;
}
.head-title::after {
    content: '';
    position: absolute;
    z-index: 99;
    width: 15px;
    height: 15px;
    margin-left: -15rpx;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    border-top-right-radius: 100%;
    transform: rotate(-225deg);
    left: 50%;
    bottom: 3px;
}
.container {
    width: 100%;
    background-color: #fff;
    overflow: hidden;
    /* border-radius: 30rpx 30rpx 0 0; */
    padding: 0 0;
}
.container-head {
    width: 100%;
    box-sizing: border-box;
  }
.scroll_view {
    height: 80rpx;
    border-radius: 50rpx;
    /* background-color: #eeece4; */
    white-space: nowrap;/*不换行*/
  }
  
.scroll_view .tab {
    /* padding: 0 10rpx; */
    line-height: 65rpx;
    display: inline-block;
    text-align: center;
    height: 80rpx;
    vertical-align: top;/*防止高度塌陷*/
}
/*激活当前tab样式*/
.scroll_view .select {
    /* color: #1067D1; */
    font-size: larger;
    font-weight: bold;
    border-bottom: 18px solid #F6CB48;
} 
.tab .tab_item {
    height: 70rpx;
    display: inline-block;
    line-height: 90rpx;
    margin: 0 26rpx;
    padding: 0 20rpx;
    flex: 1;
}
.container-swiper {
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-flow: column;
}
.container-swiper-sc {
    height: 100%;
}
.container-swiper-sc .items {
    padding: 0 2%;
    width: 100%;
    box-sizing: border-box;
  }
  .container-swiper-sc .items .item-img {
    width: 30vw;
    height: 30vw;
    margin-right: 2.8%;
    margin-bottom: 10rpx;
    flex-shrink: 0;
  }
  .container-swiper-sc .items .item-img:nth-child(3n+3) {
    margin-right: 0;
  }

/* 商家列表展示 */
/*列表展示*/
.mendian-list .mendian-info {
  display: flex;
  padding: 8px;
  margin-top: 16rpx;
  border-radius: 20px;
  /* border-bottom: 1px #dedede dashed; */
  border: 2px solid #A9A9A9;
  /* background-color: #D7EEFC; */
}
.mendian-list .mendian-info:last-child {
  /* border-bottom: none; */
  margin-bottom: 3px;
}
.mendian-list .thumb {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  margin-right: 15px;
  border-radius: 10px;
  background-color: blue;
}
.mendian-list .mendian-text {
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  justify-content: space-between;
  flex-flow: column;
}
.mendian-list .title {
  font-size: 18px;
  font-weight: 600;
  /* text-align: center; */
  color: #484848;
  margin-top: 5px;
}

小图片:

微信小程序列表样式,微信小程序,微信小程序,前端

实现效果: 

效果展示

 文章来源地址https://www.toymoban.com/news/detail-613433.html

到了这里,关于微信小程序--列表展示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第二章Python序列-列表

    (1)直接将一个列表对象赋给变量 (2)用list()将其他类型转化为列表 双向索引 (1)访问:通过索引 (2)通过for语句 修改 (1)运算符 +(合并列表,生成一个新列表) +=(合并列表,原地操作) * (列表元素重复) (2)append()方法 语法:append(object) (3)指定位置添加 insert

    2023年04月11日
    浏览(43)
  • 【python进阶】列表排序已经掌握?这种将变量插入列表序列的方法你该知道了

    🙋‍♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨‍🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅,亚太数学建模国家二等奖🏅。 ✍️研究方向:复杂网络科学 🏆兴趣方向:利用python进行数据分析与机器学习,数学建模竞

    2023年04月08日
    浏览(41)
  • python经典有序序列的list列表推导式

    生成一个数据列表 使用列表推导式生成该数据列表 分析: 1、使用一行代码的列表推导式就完成了该列表的生成 2、[i for i in range(20)],第一个i元素代表向列表list_2中添加的元素 3、[i for i in range(20)],第二个i元素代表for循环遍历的i元素 使用列表推导式生成只有偶数的数据列

    2024年02月02日
    浏览(59)
  • 黑马微信小程序-实现本地服务九宫格并展示商品列表

    1.1准备接口 黑马接口:https://applet-base-api-t.itheima.net/categories 说明:这是获取九宫格的数据接口 1.2使用接口  说明:声明变量获取数据。  res.data数据 编写简单css 实图展示      声明query变量  并设置导航标题 标题展示      2.1准备接口 商品列表接口:https://applet-base-api-t

    2024年02月11日
    浏览(56)
  • 【Python 笔记(二)——基本语句 变量类型 字符串 序列 列表与元组 字典与集合】

    在 Python 中,基本语句可以帮助我们完成一些基本的操作,如控制流程、定义函数等。以下是 Python 中的几种基本语句: if 语句 if 语句用于判断某个条件是否成立,如果条件成立则执行相应的代码块。 for 语句 for 语句用于遍历序列中的元素,依次执行相应的代码块。 while 语

    2024年02月08日
    浏览(48)
  • 【微信小程序】一文搞懂条件渲染、列表渲染以及wxss模板样式

    🐚作者简介:苏凉(专注于网络爬虫,数据分析,正在学习前端的路上) 🐳博客主页:苏凉.py的博客 🌐系列专栏:小程序开发基础教程 👑名言警句:海阔凭鱼跃,天高任鸟飞。 📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!! 👉关注✨点赞👍收藏📂

    2024年01月16日
    浏览(67)
  • 微信小程序 | 小程序开发

    🖥️ 微信小程序专栏:小程序开发 初级知识 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ 👉 你的一键三连是我更新的最大动力❤️ 目录 一、认识小程序开发 什么是小程序? 各个平台小

    2024年01月24日
    浏览(60)
  • 水球展示——微信小程序

    html   less js 获取数据赋值就行  

    2024年02月07日
    浏览(34)
  • 微信小程序开发之微信小程序交互

    目录 一、小程序交互 前端: 1、先在登陆界面中编写代码 2、在前端中编写js代码 后端:           1、先导入依赖:           2、定义好配置文件           3、编写好实体类           4、将帮助类进行配置           5、编写mapper类           6、定义service层以及对应的

    2024年02月09日
    浏览(53)
  • 微信小程序3D,使用Three.js在微信小程序中展示gltf模型,使用VisionKit展示AR能力

    本仓库只开源gltf模型展示技术,技术好的朋友有这些代码就能帮助你解决很多问题了 如需要完整项目(基于若依框架开发的后端,AR能力前端)需另外付费赞助, 联系方式:QQ 790002517 微信公众号:时不待我 https://github.com/zzy-life/Wechat3D Three.js Three.js is a JavaScript 3D library. thr

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包