小程序框架-列表布局小程序

news/2024/7/5 6:32:23

列表布局小程序

 

页面容器:<view class='container'></view>

删除app.wxss全部代码

删除utils文件夹及其内部所有内容

删除pages文件夹下的logs目录及其内部全部代码

<!--index.wxml-->
<view class='container'>
<view class='listGroup'> /*列表组*/
<view class='listItem'>  /*列表项单行*/
<image src='/images/moments.png'></image>
<text>朋友圈</text>
<image src='/images/arrow.png'></image>
</view>
</view>
</view>
// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    list:[
      //第1组
      [
        {
          text:'朋友圈',
          icon:'/images/moments.png'
        }
      ],
      //第2组
      [
        {
          text:'扫一扫',
          icon:'/images/scan.png'
        },
        {
          text:'摇一摇',
          icon:'/images/shake.png'
        }
      ],
      //第3组
      [
        {
          text:'看一看',
          icon:'/images/topStories.png'
        },
        {
          text:'搜一搜',
          icon:'/images/search.png'
        }
      ],
      //第4组
      [
        {
          text:'购物',
          icon:'/images/shopping.png'
        },
        {
          text:'游戏',
          icon:'/images/games.png'
        }
      ],
      [
        {
          text:'小程序',
          icon:'/images/miniProgram.png'
        }
      ]

    ]
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})

/**index.wxss**/
/*背景容器样式*/
.container{
height: 100vh; /*高度为100视窗*/
background-color: silver;
display: flex; /*flex布局模式*/
flex-direction: column; /*垂直布局*/
}

/*列表组样式*/
.listGroup{
  background-color: white;
  margin: 20rpx 0; /*上下边距20rpx 左右 0 */
}

/*列表组单行样式*/
.listItem{
display: flex;
flex-direction: row; /*水平布局*/
align-items: center; /*垂直方向居中*/
border: 1rpx solid silver; /*1rpx宽的银色实线边框*/
padding: 10rpx;
}

/*图标尺寸*/
image{
  width:80rpx;
  height: 80rpx;
  margin: 0 15rpx; /*上下边距0 左右外边距15rpx*/
}
/*文本样式*/
text{
  font-size: 40rpx;
  flex-grow:1; /*扩张多余空间宽度*/
}

逻辑实现

使用动态数据展示列表

由于所有列表项的内容布局都是统一的,可以使用wx:for属性配合动态数组渲染全部列表项

<!--index.wxml-->
<view class='container' >
<view class='listGroup' wx:for="{{list}}" wx:key="group{{index}}" wx:for-item="group">
<view class='listItem' wx:for="{{group}}" wx:key="row{{index}}" wx:for-item="row">
<image src="{{row.icon}}"></image>
<text>{{row.text}}</text>
<image src='/images/arrow.png'></image>
</view>
</view>
</view>

将使用双重wx:for属性循环显示全部列表项,其中{{list}}数组用于表示5个列表组,并为每个列表组起了别名group,每个列表项也起了别名row,列表项的图标和文本分别命名为icon,text.均为自定义命名

// index.js


Page({
  data: {
    list:[
      //第1组
      [
        {
          text:'朋友圈',
          icon:'/images/moments.png'
        }
      ],
      //第2组
      [
        {
          text:'扫一扫',
          icon:'/images/scan.png'
        },
        {
          text:'摇一摇',
          icon:'/images/shake.png'
        }
      ],
      //第3组
      [
        {
          text:'看一看',
          icon:'/images/topStories.png'
        },
        {
          text:'搜一搜',
          icon:'/images/search.png'
        }
      ],
      //第4组
      [
        {
          text:'购物',
          icon:'/images/shopping.png'
        },
        {
          text:'游戏',
          icon:'/images/games.png'
        }
      ],
      [
        {
          text:'小程序',
          icon:'/images/miniProgram.png'
        }
      ]

    ]
  },

app.json代码

{
  "pages":[
    "pages/index/index"
  ]
}

 pages/index/index.json 

{
 "navigationBarTitleText":"发现"
}

 

 


http://www.niftyadmin.cn/n/673666.html

相关文章

如何做生意

爹对儿子说&#xff0c;我想给你找个媳妇。 儿子说&#xff0c;可我愿意自己找&#xff01; 爹说&#xff0c; 但这个女孩子是比尔盖茨的女儿&#xff01;儿子说&#xff0c;要是这样&#xff0c;可以。然后他爹 找到比尔盖茨&#xff0c;说&#xff0c;我给你女儿找了一个老公…

招行权证割肉比赛开演 10个交易日后寿终正寝

http://www.sina.com.cn 2007年08月07日 08:44 北京商报昨日招行认沽权证(招行CMP1( 0.321,-0.04,-12.30%)&#xff0c;580997)下跌20.95%&#xff0c;报收0.366元。根据该权证的基本信息计算&#xff0c;包括今日&#xff0c;招行认沽权证还有10个交易日&#xff0c;将于8月21…

winhe检测虚拟磁盘

winhex 是一个专门用来对付各种日常紧急情况的工具。它可以用来检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等。同时它还可以让你看到其他程序隐藏起来的文件和数据。 创建虚拟磁盘 此电脑->右键“管理”->磁盘管理 点击磁盘0->右键“磁盘管理”->…

8月7日机构推荐5只最具上涨潜力股

深能源 电力蓝筹 价值低估深能源(000027)大股东深圳能源集团计划以公司为平台整合所有发电资产以实现整体上市。收购后&#xff0c;公司权益装机容量将从153万千瓦增加到415.57万千瓦&#xff0c;总装机容量达到586.5万千瓦。公司将全资拥有深圳地区最大的天然气发电厂———东…

java map 对key排序_Java Map 键值对排序 按key排序和按Value排序

一.理论准备Map是键值对的集合接口&#xff0c;它的实现类主要包括&#xff1a;HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap&#xff1a;基于红黑树(Red-Black tree)的 NavigableMap 实现&#xff0c;该映射根据其键的自然顺序进行排序&#xff0c;或者根据创建映射…

股德

这段时间开始狂关注股票&#xff0c;原因是基金给我的收益实在太少了&#xff0c;搞了半年才1W都没到&#xff0c;碰到530&#xff0c;还算好没被套&#xff0c;到底还有些利润&#xff0c;要知道很多人都套在里面&#xff0c;浪费了时间&#xff0c;金钱&#xff0c;还伤了身体…

java id 生成器_JAVA ID生成器生成逻辑主键_java

在一个数据库设计里&#xff0c;假如使用了逻辑主键&#xff0c;那么你一般都需要一个ID生成器去生成逻辑主键。在许多数据库里面&#xff0c;都提供了ID生成的机制&#xff0c;如oracle中的sequence&#xff0c;MSSQL中的identity&#xff0c;可惜这些方法各种数据库都不同的&…

方圆支承、荣盛发展2家公司8月8日挂牌中小板

今日&#xff0c;深交所披露&#xff0c;方圆支承将于8月8日挂牌中小板&#xff0c;其证券简称为“方圆支承”&#xff0c;证券代码为“002147”&#xff0c;该公司人民币普通股股份总数为9400万股&#xff0c;其中首次上网定价公开发行的1920万股股票自上市之日起开始上市交易…