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

2023-10-26

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

.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>

其中控制循环的代码就是下面这一部分

<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 谷歌文档文本光标

    我需要创建一个类似于谷歌文档的应用程序 我发现 google 文档不使用任何文本区域 而是使用常规 div 来创建页面 但我不知道他们是如何获得文本光标的 是图像闪烁吗 因为当我尝试使用 Chrome 开发者工具查看网页代码时 我没有看到任
  • SSE (EventSource) 在 1 小时 22 分钟后超时。有什么办法可以让它持续下去吗?

    我的页面中有一个区域 当数据库发生更改时 消息将发送到该区域 现在 有时数据库会发生很大的变化 以至于每 10 分钟就会显示一条新消息 其他日子它只会改变几次 我遇到的问题是 EventSource 似乎在 1 小时 22 分钟后超时 浏览
  • jQuery:检查字段的值是否为 null(空)

    这是检查字段值是否为的好方法null if person data document type value NULL 或者 还有更好的方法 字段的值不能为空 它始终是字符串值 该代码将检查字符串值是否为字符串 NULL 您想检查它是否是空字
  • “箭头函数”和“函数”是否等效/可互换?

    ES2015中的箭头函数提供了更简洁的语法 我现在可以用箭头函数替换所有函数声明 表达式吗 我需要注意什么 例子 构造函数 function User name this name name vs const User name gt th
  • jQuery 绑定 ajax:成功无法在 Rails 3 应用程序中为新创建的(ajax)项目工作

    编辑这篇文章是因为我发现问题实际上在于rails无法绑定到ajax success函数 使用导轨3 2 3 感谢您花时间阅读并尝试提供帮助 我在 ajax success 删除项目上添加一个简单的淡出功能 如下所示 document rea
  • JavaScript 中的整数

    MDN https developer mozilla org en JavaScript A re introduction to JavaScript Numbers states JavaScript 中的数字是 双精度 64 位格式
  • NativeScript中有本地存储吗?

    如何保持 NativeScript 应用程序中的数据持久化 谁能告诉一下localStorage in NativeScript 编辑 正在寻找localStorage当时 您的问题可以通过多种方式来解读 这使得给您一个好的答案有点困难 但
  • 三.JS Shadow 到对象

    我想添加castShadow and receiveShadow在一个物体上 但是下面的代码有什么问题吗 var mtlLoader new THREE MTLLoader mtlLoader setPath objects Tree mt
  • 为什么这个标题图形不随世界更新

    对于以下内容 我很高兴组合框默认为世界 但当收音机被点击时 我也希望标题移回 世界 我该怎么做 我有这个笨蛋 http plnkr co edit 9FXJXVqLZLPFdDrmVJez p preview http plnkr co e
  • Safari 不设置 cookie,但 Chrome 和 Firefox 会设置

    我正在将请求从本地主机发送到第三方服务器以使用 REST API 获取数据 后端使用cookies JSESSIONID 来了解是否发送数据 在 Chrome 中一切正常 我可以在 Chrome 浏览器的 应用程序 选项卡中看到 Cooki
  • Node.js 无限循环功能,在某些用户输入时退出

    我不太明白节点在异步和循环方面到底是如何工作的 我想在这里实现的是让控制台打印出来 Command 并等待用户的输入 但在等待时我希望它运行 一些随机函数 无休止地直到用户在终端上输入 exit 感谢所有的帮助 以及可能的解释 以便我能理解
  • 笛卡尔坐标到极坐标

    看一下这里的例子 http www brianhare com physicals so html http www brianhare com physics so html 看一下 console log 我在其中使用了这两个主要函数
  • 从扩展 pug/jade 模板将变量传递到基本布局

    我想通过在扩展基本布局的模板中声明变量来在 body 标记上设置一个类 当我尝试时 body class变量是undefined在布局中 看起来布局是在扩展模板之前执行的 或者它们是在不同的范围内执行的 还有别的办法吗 mixin 在这里可
  • 使用 jQuery 获得第一堂课和最后一堂课

    可能是新手问题 我有这样的代码行 div class template active 我需要为自己准备每一堂课 我尝试了这段代码 this attr class 从该代码中我得到 模板处于活动状态 我需要的是一个带有 template 的字
  • 在固定位置元素上缩放 div 时丢失文本清晰度(模糊)(在移动 safari/webkit 浏览器上)

    附有重现代码 它 基本上 包含两个 div 元素 红色 固定 和黑色 带文本 单击黑色 div 时 它会放大 并且其上的文本保持清晰 然而 在 4 秒后 黑色 div 的 z index 发生了变化 黑色 div 变成了over红色分区 B
  • grunt jasmine-node 测试运行两次

    我设置 grunt 来运行 node js 茉莉花测试 由于某种原因 使用此配置 结果总是显示双倍的测试 这是我的配置 我在用着茉莉花节点 https github com jasmine contrib grunt jasmine nod
  • 如何访问使用 YUI 检查的单选按钮的值?

    我有以下单选按钮结构 div div
  • Soundcloud CORS

    正如我在文档中读到的那样 Soundcloud api 应该支持 cors http developers soundcloud com docs api guide crossdomain http developers soundclo
  • 工具提示出现在 intro.js 移动视图中的元素上方

    我正在使用 intro js 初步浏览我网站上的页面 该游览在桌面上看起来不错 但在移动设备上 工具提示出现在它所描述的元素的正上方 用户无法在移动视图中看到该元素 因为工具提示出现在该元素的正上方 见下图 我尝试自定义工具提示的位置 但输
  • 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足错误

    我运行时收到此错误ng 构建 prod 92 块资产优化 4136 0155D210 443646 ms 标记 扫描 703 5 770 3 gt 703 6 759 8 MB 2162 2 0 0 ms 自标记开始以来 0 0 ms 0

随机推荐

  • U-boot引导流程分析一

    U Boot 全称 Universal Boot Loader 即通用引导程序 是遵循GPL条款的开放源码项目 它的源码目录 编译形式与Linux内核很相似 事实上 不少U Boot源码就是相应的Linux内核源程序的简化 尤其是一些设备的
  • linuxptp源码研究

    目录 1 检查网卡是否支持相应的时间戳 2 linuxptp的目录架构 3 ptp4l的大致流程分析 4 gptp协议对应的sync follow up delay request delay response消息在代码的位置 5 slav
  • Deeplearning4j 实战 (13):基于TextCNN的文本分类实现

    Eclipse Deeplearning4j GitChat课程 Deeplearning4j 快速入门 专栏Eclipse Deeplearning4j 系列博客 万宫玺的专栏 wangongxi CSDN博客Eclipse Deeple
  • java native

    1 java lang Boolean中没有 native方法2 java lang Character中没有native方法3 java lang Byte中没有本地方法4 java labg Short中没有本地方法5 java lan
  • Go语言学习笔记(六)---map

    4 7 map map是key value数据结构 又称为字段或者给关联数组 类似其他编程语言的集合 映射 基本语法 var map变量名 map keytype valuetype keytype可以是bool int string 指针
  • ubuntu 忘记root密码

    方法一 如果用户具有sudo权限 那么直接可以运行如下命令 sudo su root 输入当前用户的密码 passwd 输入密码 再次输入密码 方法二 如果用户不具备sudo权限 则方法一不能用 并需进入GRUB修改kernel镜像启动参数
  • 如何用 Python 批量循环读取 Excel ?

    在使用 Python 批量处理 Excel 时经常需要批量读取数据 常见的方式是结合glob模块 可以实现将当前文件夹下的所有csv批量读取 并且合并到一个大的DataFrame中 df list for file in glob glob
  • 贪吃蛇(C语言)

    贪吃蛇项目 核心算法 循环数组 发牌算法 二维坐标一维化 编译环境 TC 2 0 准备工作 学习gotoxy 函数 了解bioskey 函数使用 知道bioskey 1 与bioskey 0 的区别 了解键盘扫描码 并且知道如何使用 核心工
  • Java读取ini文件

    Java读取ini文件 文章目录 Java读取ini文件 1 ini文件 2 代码示例 1 ini文件 src config config ini文件内容如下 login autorun n jls 2 url 10 10 1 29 por
  • Linux高性能服务器编程(4)TCP协议详解

    Linux高性能服务器编程 4 TCP协议 TCP服务的特点 TCP协议更靠近应用层 在应用程序中有更好的可操作性 信息 作用 TCP头部 TCP头部信息出现在每个TCP报文段中 用于指定通信的源端端口号 目的端口号 管理TCP连接 控制两
  • unity 动态修改文本方法 GameObject

    using System Collections using System Collections Generic using UnityEngine using UnityEngine SceneManagement using Unit
  • linux文件系统

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 从操作系统的角度详解Linux文件系统层次 文件系统分类 文件系统的存储结构 不
  • List中存储实体类并根据实体类的指定属性去重

    场景 如果List中存储的是一些字符串 去重的时候就比较简单 直接使用java中的set集合去重即可 如果List中存储的是一些是实体类 去重的时候 要根据实体类的部分属性去重 可以使用下面的方法 举例如下 实体类 public class
  • 服务器迁移记录

    服务器迁移记录 安装 Docker 使用 Docker 安装 MySQL Redis 等 MySQL数据库迁移 文件迁移 安装 Docker 具体安装方法见 Docker 学习笔记 使用 Docker 安装 MySQL Redis 等 My
  • 机顶盒天线接头怎么接_数字电视接收天线怎么安装

    如今越来越多的家庭都在使用数字电视信号 因为这是一种使用起来非常方便 而且画质超级清楚的电视信号 不过很多第一次使用数字电视信号的朋友 并不是特别清楚数字电视接收天线的安装方法 所以我们今天在这里来给大家简单的介绍一下 数字电视接收天线的安
  • 贪心算法与近似算法

    1 贪心算法 1 1 教室调度问题 假设有如下课程表 你希望将尽可能多的课程安排在某间教室上 你没法让这些课都在这间教室上 因为有些课的上课时间有冲突 你希望在这间教室上尽可能多的课 如何选出尽可能多且时间不冲突的课程呢 这个问题好像很难
  • html左侧导航栏右侧显示内容

    效果图 代码 复制下来直接运行就可以
  • 计算机视觉

    手写字体的检测 1 Adaboost进行手写字体的检测 导入mnist数据集 import tensorflow examples tutorials mnist input data as input data data dir MNIS
  • QT的Frame背景图片设置自学版

    1 新建一个qt rescource file file gt new file gt qt gt name path设置 gt 包括所需主项目 gt finish 2 edit gt resource 3 add gt add prefi
  • 微信小程序如何循环控制一行显示几个wx:for

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