uni-app入门:WXML列表渲染与条件渲染

news2025/7/22 9:52:31

     1.列表渲染
         1.1wx:for
         1.2wx:key
     2.条件渲染
         2.1wx:if
         2.2 hidden

正文

    WXML全称:wexin markup language,微信标签语言,可以理解为web中的html,今天来讲一下列表渲染,通过几个小案例掌握基本的使用,以下均以index页面进行讲解。

1.列表渲染

1.1wx:for

    uniapp中使用wx:for进行列表渲染数据展示,其中默认索引形参为index,索引对应的值的形参默认为item。现自定义数组,然后进行遍历渲染展示。
index.js:

Page({
  data: {
   arr:[1,2,3,4,5]
  }
})

index.wxml:

<view wx:for="{{arr}}">索引index:{{index}},值:{{item}}</view>

展示数据如下:
在这里插入图片描述
    wx:for中的索引项和索引值的形参默认是index、item,是否可以进行自定义,答案是肯定的,现在自定义customIndex、customItem对默认的形参进行修改,需要借助对应的属性:wx:for-index、wx:for-item来实现。上面的数组列表遍历就就可以修改成如下:
index.wxml中:

<view wx:for="{{arr}}" wx:for-index="customIndex" wx:for-item="customItem">
索引index:{{customIndex}},值:{{customItem}}</view>

展示效果同上:
在这里插入图片描述

1.2wx:key

    上面的列表渲染实现之后,细心的同学可能会在控制台中看到如下警告信息:
在这里插入图片描述
    警告的大概意思是需要使用wx:key提高列表渲染的性能,使用wx:key指定每项的唯一标识。至于wx:key的数值一般为列表中唯一的字段值。
    上面的案例customIndex是每一项的唯一标识,所以可以指定wx:key的值为customIndex。修改后的index.wxml如下:

<view wx:for="{{arr}}" wx:for-index="customIndex" wx:for-item="customItem" wx:key="customIndex">
索引index:{{customIndex}},值:{{customItem}}</view>

    修改之后结果正常显示,控制台的警告信息也会消失。
在这里插入图片描述

2.条件渲染

2.1 wx:if

    wx:if="{{条件表达式}}",表达式成立则组件显示,不成立则组件不显示。一般也与wx:elif、wx:else进行多条件比较。下面用案例进行说明:
    定义一个数字:num,如果是1则显示男,如果是2则显示女,其他的数显示未知。
index.js中:

Page({
  data: {
   num:1
  }
})

index.wxml中:

<view wx:if="{{num == 1}}">等于1显示男</view>
<view wx:elif="{{num == 2}}">等于2显示女</view>
<view wx:else>其他显示未知</view>

显示结果如下:
在这里插入图片描述
    为了方便调试,修改num值后观察效果,可以直接从appData中修改num值,这样就可以不用频繁修改index.js中num值进行保存了,处理方式如下:
在这里插入图片描述

2.2 wx:hidden

    说到控制组件是否显示就不得不说一下hidden属性,hidden值为true时也回控制组件不显示。
index.js中:

Page({
  data: {
   showView: true
  }
})

index.wxml中:

<view hidden="{{showView}}">是否展示view组件,true时隐藏,false时显示</view>

    hidden属性控制组件是否显示是通过添加样式:display: none来实现。可以打开控制台选中组件看下具体的样式信息:

在这里插入图片描述

    hidden与wx:if的区别在于前者是添加了样式:display: none,后者是重新创建或是删除对象实现的组件是否显示,从性能上来讲hidden性能更高,不过对于多重条件判断还是使用wx:if比较方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

艾美捷高纯度 Cholesterol胆固醇相关介绍

胆固醇在体内有着广泛的生理作用&#xff0c;但当其过量时便会导致高胆固醇血症&#xff0c;对机体产生不利的影响。现代研究已发现&#xff0c;动脉粥样硬化、静脉血栓形成与胆石症与高胆固醇血症有密切的相关性。 如果是单纯的胆固醇高则饮食调节是最好的办法&#xff0c;如果…

机器人虚拟仿真工作站考试

总共三个步骤&#xff1a; 创建工作台、加工零件、机器人臂 &#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 一、加工零件的创建 1、先打开sw软件&#xff0c;然后点击零件、创建进入到该软件内&#xff1a; 2、点击前视基础面&#xff08;点击后按esc&#x…

RabbitMQ初步到精通-第四章-RabbitMQ工作模式-WORK

第四章-RabbitMQ工作模式-WORK 1.模式介绍 1.1 work模式 Work模式与前面的Simple模式一致&#xff0c;也是消息经由生产者发到Exchange再到queue再被消费者消费。不同点在于SIMPL模式是一个队列对应的一个消费者&#xff0c;此模式会由一个队列对应两个消费者或大于两个消费者。…

MyBatis的配置文件

日志怎么在mybatis中实现呢 1.添加pom.xml依赖 2.添加logback配置文件 mybatisconfig.xml 引入外部属性资源文件 注意:其中使用的较多的需要设置的为&#xff1a; 引入外部属性资源文件 将数据库的蛇形命名映射为驼峰命名 使用typeAliases标签设置里面的package标签,为…

智工教育:环评师考试重要知识点

环境影响评价师的知识点庞杂纷繁&#xff0c;想要顺利通过考试&#xff0c;就要经常复习看过的知识&#xff0c;达到加强记忆的效果。下面是小编整理的环评师考试重要知识点&#xff0c;一起来复习吧! 考试目的及大纲主要内容 通过本科目考试&#xff0c;检验具有一定实践经验…

shell脚本编程基础(中)

目录 (一&#xff09;shell流程控制-for循环语句 1. for 循环介绍 2. for语法 2.1 for 语法一 2.2 for语法二 3.循环控制语句 3.1 sleep N 脚本执行到该步休眠N秒 3.2 continue 跳过循环中的某次循环 3.3 break 跳出循环继续执行后续代码 3.4实例 &#xff08;二&am…

MyBatis大数据量插入方案

1、前言 在开发过程中&#xff0c;有时我们会碰到将大批量的数据入库的场景&#xff0c;那么我们一般有下面三种方式入库&#xff1a; ExecutorType.BATCH批处理方式插入foreach循环标签插入MyBatisPlus自带的saveBatch批量新增方法 下面我们用一个案例来测试一下&#xff0…

让学前端不再害怕英语单词(一)

有很多跟着我学习的学生经常跟我抱怨前端的单词很多&#xff0c;学了css又忘了html的单词&#xff0c;学了js又忘了css 的单词&#xff0c;所以本着给跟着我学习的学生提供一个学习前端不怕英语单词的课程&#xff0c;就打算写一篇博客去讲述如何增强在学习前端的时候巩固语法并…

通过阅读源码解决项目难题:GToken替换JWT实现SSO单点登录

文章目录jwt的问题jwt的请求流程图gtoken的优势注意问题演示demo入门示例运行效果启动项目&#xff1a;访问不认证接口&#xff1a;返回成功未登录时访问认证接口&#xff1a;返回错误提示请求登录接口&#xff1a;返回token携带token再次访问认证接口&#xff1a;返回成功分析…

postgres-operator 原理解析- 章节 I

这篇文章我想写postgres-operator如何利用kubernetes实现高可用功能其中的客户端流量路由部分。 总体的目的呢就是客户端数据库连接请求&#xff0c;如果通过利用kubernetes的机制实现将流量路由到实际的Postgresql主节点。 基础知识 Services without selectors 平常得Ser…

【Java进阶篇】第三章 常用类

文章目录一、String类1、String类概述2、String字符串的存储原理3、有String型属性的对象4、两种字符串对象创建方式的区别5、String类的特殊构造方法6、String类中的方法二、StringBuffer类1、StringBuffer类的构造方法2、String类和StringBuffer类的区别3、StringBuffer和Str…

我修复了一个 Vite Bug,让我的项目首屏性能提高了 25%

本文正在参加「金石计划 . 瓜分6万现金大奖」 一次偶然的机会&#xff0c;我将项目&#xff08;基于 tdesign-vue-next-starter &#xff09;由 Vite 2.7 升级成 Vite 3.x 后&#xff0c;发现首次运行 Vite dev 构建&#xff0c;页面首屏时间非常长&#xff0c;且一定会整个页…

Vue3基础看这一篇就够了(万字长篇,附实例代码及效果演示)

目录 前言 概述 Vue3组合式api VS Vue2选项式api 基础部分 setup 选项式api的风格 组合式api的风格 区别 响应式数据 ref reactive shallowReactive 与 shallowRef 计算属性和监听 computed 函数 watch 函数 watchEffect 生命周期 响应式数据只读 toRaw 返回代…

呼叫中心中间件(mod_cti基于FreeSWITCH)-背景音(彩话)接口

背景音&#xff0c;就是给通话添加一个背景音&#xff0c;比如办公室的噪音&#xff0c;键盘敲击声&#xff0c;等。彩话&#xff0c;就是通话过程播放一个声音&#xff0c;代替人工说话&#xff0c;这个声音双方可以同时听到&#xff0c;而且播放过程不影响双方通话。 用处 …

「JVS低代码开发平台」关于逻辑引擎的触发讲解

JVS逻辑引擎是代码开发套件中的业务瓶装的核心&#xff0c;用于去实现各种场景下的逻辑功能&#xff0c;可以把他理解为一个程序配置器与程序的执行器。 逻辑引擎是可以被多种配置器调用的触发的&#xff0c;从而实现了各种业务场景中对应功能的实现&#xff0c;那么接下来我们…

RabbitMQ初步到精通-第四章-RabbitMQ工作模式-PUB/SUB

第四章-RabbitMQ工作模式-PUB/SUB 1.模式介绍 1.1 模式 此模式称为发布订阅模式&#xff0c;从此模式开始&#xff0c;我们就不再使用默认的交换机了&#xff0c;开始定义我们自己的交换机。 此发布订阅模式&#xff0c;使用的交换机类型为Fanout。定义好交换机&#xff0c;消…

【MATLAB教程案例42】语音信号的MFCC特征提取matlab仿真

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 本课程学习成果预览: 目录 1.软件版本 2.MFCC理论概述

JavaScript之BOM复习(54th)

1、BOM概述 1、BOM Browser Object Model 浏览器对象模型 2、它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是 window 3、BOM 由一系列相关的对象构成&#xff0c;并且每个对象都提供了很多方法与属性 4、BOM 缺乏标准&#xff0c;JavaScript 语法的…

用QT实现一个简单的桌面宠物

有时候桌面空空的&#xff0c;或者屏幕空旷了&#xff0c;我们就可以找一点东西来点缀一下&#xff0c;那么桌面宠物是一个不错的选择。 作为一个程序猿&#xff0c;如何实现一个桌面宠物呢&#xff1f; 本文就给大家带来的是如何用qt提供一种思路并写一个简单的桌面宠物。 思…

深入理解Linux网络技术内 幕(八)——设备注册和初始化

文章目录前言设备注册之时设备除名之时分配net_device结构NIC注册和除名的架构设备初始化设备驱动程序初始化设备类型初始化&#xff1a;xxx_setup函数可选的初始化和特殊情况net_device结构的组织查询设备状态队列规则状态注册状态设备的注册和除名切割操作&#xff1a;netdev…