微信小程序如何循环控制一行显示几个wx:for

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

微信小程序如何循环控制一行显示几个wx:for
正如上图所显示的一样,我们改如何控制一行显示几个图形呢?
首先第一种方法,数量少的可以自己一行一行的写,但是当数据很多的时候呢?
这时候就需要我们区使用循环进行代码的编写。废话不多数,直接写代码。

.demo-item{
width: 40%;
}
.demo-item .screen-data{
padding: 10rpx;
text-align: center;
}

json文件

{
“navigationStyle”: “custom”,
“navigationBarTextStyle”: “white”,
“usingComponents”: {
“tabchange”: “/components/tabchange/index”,
“search-bar”: “/base-ui/ms-search-bar/index”,
“ms-add-btn”: “/base-ui/ms-add-btn/index”,
“van-tab”: “@vant/weapp/tab/index”,
“van-tabs”: “@vant/weapp/tabs/index”,
“ms-main-navbar”: “/base-ui/ms-main-navbar/index”,
“van-sticky”: “@vant/weapp/sticky/index”,
“van-icon”: “@vant/weapp/icon/index”,
“form-item”: “/components/form-item/index”,
“van-popup”: “@vant/weapp/popup/index”,
“ms-button”: “/base-ui/ms-button/index”
}
}

js文件

 /**
     * 页面的初始数据
     */
    data: {
        Authorization: "",
        taskDetailParams: {
            "currentPage": 1,
            "filters": {
                "status": ""
            },
            "orderBys": [],
            "pageSize": 10
        },
        // navigationBarAndStatusBarHeight: 0,

        dataitem: {
            name: "数据",
            faren: "王五"
        },
        active: 0,
        totalCount: 0,
        tabs: ['全部', '入库', '出库'],
        tabIndex: 0,
        //状态栏高度
        statusBarHeight: Cache.getCacheSync(STATUSBARHEIGHT),
        //导航栏高度
        navigationBarHeight: Cache.getCacheSync(MENUBUTTONHEIGHT),
        //胶囊按钮的高度
        menuButtonHeight: Cache.getCacheSync(NAVIGATIONBARHEIGHT),
        //状态栏加导航栏高度
        navigationBarAndStatusBarHeight: Cache.getCacheSync(NAVIGATIONBARANDSTATUSBARHEIGHT),
        SAFEBOTTOM: Cache.getCacheSync(SAFEBOTTOM),

        filter:false,
        changecolor:[
          {name:'借入',changecolor:false},
          {name:'借出归还',changecolor:false},
          {name:'来料加工',changecolor:false},
          {name:'借出归还',changecolor:false},
          {name:'借出',changecolor:false},
          {name:'退料',changecolor:false},
        ]
    },
    

    onClose(){
      this.setData({
        filter:false
      })
    },
    changecolor(e){
      console.log(e,1)
      let sum=parseInt(e.currentTarget.dataset.item)
      console.log(typeof(sum))
      console.log(this.data.changecolor[sum].changecolor)
      this.data.changecolor.map((i,index)=>{
        console.log(i)
        this.setData({
          ['changecolor['+index+'].changecolor']:false
        })
      })
       this.setData({
        ['changecolor['+sum+'].changecolor']:true
       })
       console.log(this.data.changecolor)
    },
    queren(){
       this.setData({
         filter:false
       })
    },
    cancel(){
       this.setData({
         filter:false
       })
    },
    filter(){
       this.setData({
         filter:true
       })
    },

<van-popup show="{{ filter }}" position="right" custom-style="height: 100%; width:60%;padding-top:{{navigationBarAndStatusBarHeight+50}}px;" bind:close="onClose" catchtouchmove='ture'>
  <view>
    <view class="margin-left-10 margin-top-10 font-size-14" style="font-weight: 700;">业务类型</view>
    <!-- <view wx:for="{{changecolor}}">
      <view class="flex jc-around margin-top-10">
        <view class="padding-10 font-size-14" style="background-color:{{changecolor[index].changecolor?'#29AA4F':'#F2F2F2'}};color:{{changecolor[index].changecolor?'white':'black'}};" bindtap="changecolor" data-item="{{index}}">{{changecolor[index].name}}</view>
      </view>
      <view class="flex jc-around margin-top-10">
            <view class="padding-10 font-size-14" style="background-color: #F2F2F2;" bindtap="changecolor"
            style="background-color:{{changecolor[2].changecolor?'#29AA4F':'#F2F2F2'}};color:{{changecolor[2].changecolor?'white':'black'}};" 
            bindtap="changecolor" data-item="2">现款合同</view>
            <view class="padding-10 font-size-14" style="background-color: #F2F2F2;" bindtap="changecolor"
            style="background-color:{{changecolor[3].changecolor?'#29AA4F':'#F2F2F2'}};color:{{changecolor[3].changecolor?'white':'black'}};"
             bindtap="changecolor" data-item="3">来料合同</view>
          </view>
    
    </view> -->
     
    <block wx:for="{{changecolor.length/2}}" wx:for-index="i" wx:for-key="{{i}}" wx:key="i">
        <view class="flex jc-around margin-top-10">
          <!--每行循序2次,index参数赋值在j变量上-->
          <block wx:for="{{2}}" wx:for-index="j" wx:for-item="item_j" wx:for-key="key_j" wx:key="j">
            <!--此时数据的条数为i*2+j行数*2+第几行-->
            <block wx:if="{{changecolor[i*2+j].name}}">
              <view class="demo-item">
                <view class="screen-data font-size-14" data-item="{{i*2+j}}" style="background-color:{{changecolor[i*2+j].changecolor?'#29AA4F':'#F2F2F2'}};color:{{changecolor[i*2+j].changecolor?'white':'black'}};"
             bindtap="changecolor">{{changecolor[i*2+j].name}}</view>
              </view>
            </block>
          </block>
        </view>
      </block>

  </view>
  <view class="margin-top-10">
    <view class="margin-left-10 font-size-14" style="font-weight: 700;">供应原材料</view>
    <view class="flex jc-between grey padding-left-10 padding-top-5 padding-bottom-5 padding-right-5 margin-top-10" style="background-color: #F2F2F2;">
      <view>请选择</view>
      <van-icon name="arrow" />
    </view>
  </view>
  <view class="margin-top-10">
    <view class="margin-left-10 font-size-14" style="font-weight: 700;">储料仓</view>
    <view class="flex jc-between grey padding-left-10 padding-top-5 padding-bottom-5 padding-right-5 margin-top-10" style="background-color: #F2F2F2;">
      <view>请选择</view>
      <van-icon name="arrow" />
    </view>
  </view>


  <view class="flex jc-between" style="position: fixed; width: 100%; bottom: 0; padding-bottom:{{SAFEBOTTOM}}px;">
    <ms-button buttonType="ms-grey" class="margin-left-5" bindtap="cancel">取消</ms-button>
    <ms-button buttonType="ms-green" class="margin-right-5" bindtap="queren">确认</ms-button>
  </view>
</van-popup>

其中控制循环的代码就是下面这一部分文章来源地址https://www.toymoban.com/news/detail-484121.html

<block wx:for="{{changecolor.length/2}}" wx:for-index="i" wx:for-key="{{i}}" wx:key="i">
        <view class="flex jc-around margin-top-10">
          <!--每行循序2次,index参数赋值在j变量上-->
          <block wx:for="{{2}}" wx:for-index="j" wx:for-item="item_j" wx:for-key="key_j" wx:key="j">
            <!--此时数据的条数为i*2+j行数*2+第几行-->
            <block wx:if="{{changecolor[i*2+j].name}}">
              <view class="demo-item">
                <view class="screen-data font-size-14" data-item="{{i*2+j}}" style="background-color:{{changecolor[i*2+j].changecolor?'#29AA4F':'#F2F2F2'}};color:{{changecolor[i*2+j].changecolor?'white':'black'}};"
             bindtap="changecolor">{{changecolor[i*2+j].name}}</view>
              </view>
            </block>
          </block>
        </view>
      </block>

到了这里,关于微信小程序如何循环控制一行显示几个wx:for的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 整理微信小程序控制view隐藏显示的五种方法

    使元素脱离文档流,通过改变元素的top和left属性值控制元素的显示与否 在页面的js文件中通过修改hidden值来控制

    2024年02月04日
    浏览(38)
  • 微信小程序wxml内容编译后不显示(控制台没有错误)

    微信小程序wxml内容编译后不显示(控制台没有错误),如下图 wxml页面填充内容而且控制台没有错误,但是编译就是不显示 微信小程序的报错机制目前还不完善,很多错误看起来很让人摸不着头脑,解决方案也更是如此。准确的说很多规范并没有。 js文件添加: Page({ }) 至于为

    2024年02月13日
    浏览(47)
  • 微信小程序-控制文本的显示及隐藏(当文字超出两行时,设置为可点击并进入查看详情页面)

    1、微信小程序文本展开、收起功能 2、微信小程序文字超过行后隐藏并且显示省略号 显示消息内容,超出两行部分隐藏。当有隐藏内容时,该卡片设为可点击,进入消息详情页面。 1、wxml 2、wxss 3、.js

    2024年02月13日
    浏览(38)
  • 微信小程序如何获取地理位置、地图显示,逆地址解析。

    微信严格了获取客户位置的要求,需要申请地理位置权限和声明。 自 2022 年 7 月 14 日后发布的小程序,若使用地理位置接口,需要在 app.json 中进行声明。 申请时需要选择适合的小程序类目、填写需要调用接口的理由和小程序图片或视频(可以弄点儿UI设计的图稿放进去,显示

    2024年02月07日
    浏览(33)
  • 在微信小程序中如何使用Loading组件显示载入动画

    Loading组件是微信小程序中常用的一种UI组件,用于在数据加载过程中显示载入动画,提高用户体验。本文将详细介绍如何在微信小程序中使用Loading组件,并提供相应的源代码示例。 创建Loading组件 首先,在小程序的组件文件夹中创建一个名为\\\"loading\\\"的文件夹,并在该文件夹下

    2024年02月03日
    浏览(41)
  • 微信小程序--几个常用标签

    view 这个标签相当于div(它的特点就是在没有其他样式影响的情况下,宽度100%); text 这个标签相当于span(它的特点就是在没有其他样式影响的情况下,不会独占一行,宽和高由内容撑开,这个时候你设置宽高是没有用的); image 这个标签比较重要,图片组件。src里面可以放网络

    2024年02月08日
    浏览(21)
  • 微信小程序有几个文件

    微信小程序通常由多个文件组成,主要包括以下几种类型的文件: JSON 配置文件: app.json: 整个小程序的全局配置,包括页面路径、窗口样式、网络超时时间等。 page.json: 单个页面的配置,用于指定该页面的窗口样式、导航栏样式等。 project.config.json: 小程序项目的开发工具配

    2024年02月03日
    浏览(29)
  • 物联网实践教程(终章):微信小程序结合OneNET平台MQTT实现51/STM32单片机智能控制与温度等数据实时显示【微信小程序篇】

    本项目教程总共分为四节 1.创建OneNET新版MQTT设备:为微信小程序与单片机通信打基础(微信小程序通信单片机前置任务) 2.ESP8266-01s入门:烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务) 3.物联网实践教程:微信小程序结合OneNET平台MQTT实

    2024年02月03日
    浏览(80)
  • 微信小程序中如何设置textarea或者van-field中的placeholder换行显示

    微信小程序中如何设置textarea中的placeholder换行显示 van-field 中直接修改textarea 标签的样式即可  

    2024年02月12日
    浏览(29)
  • 微信小程序animation动画,微信小程序animation动画无限循环播放

    需求是酱紫的: 页面顶部的喇叭通知,内容不固定,宽度不固定,就是做走马灯(轮播)效果,从左到右的走马灯(轮播),每播放一遍暂停 1500ms ~ 2000ms 刚开始想的是 css 的 position: relative + animation,如果宽度固定还好说,宽度不固定,用百分比的话,想象很美好,现实很

    2024年02月13日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包