微信小程序中的条件渲染和列表渲染,wx:if ,wx:elif,wx:else,wx:for,wx:key的使用,以及block标记和hidden属性的说明

简介: 这篇文章介绍了微信小程序中条件渲染和列表渲染的使用方法,包括wx:if、wx:elif、wx:else、wx:for、wx:key以及block标记和hidden属性的使用。

1. 条件渲染

1.1. 语法格式 (wx:if, wx:elif ,wx:else)

<view wx:if="{
    {condition}}">True</view>

当condition条件为true时,代码块渲染显示,为false时,代码块不进行渲染.

可以结合 wx:elif=“{ {condition}}” 和 wx:else来进行判断

<!-- type 为 当前页面的.js文件中的data的数据 -->
<view wx:if="{
    {type===1}}">男</view>
<view wx:elif="{
    {type===2}}">女</view>
<view wx:else>保密</view>

1.2. block标记

可以使用block标记,一次性的控制多个组件的显示与隐藏,block标记本身并不进行渲染。
block并不是一个组件,它只是一个包裹性质的容器,不会再页面做任何渲染。

从下面的例子来观察下,渲染出的页面结构有何特点:

<block wx:if="ture">
  <view >view1</view>
  <view >view2</view>
</block>

在这里插入图片描述

block标签未曾渲染,只是充当一个包裹性质的容器

1.3. hidden属性

学过前端三剑客的应该看到这个属性就明白了,hidden是用来控制元素的显示与隐藏的。
在hidden属性上,通过条件判断元素是否显示

<view hidden="{
  {condition}}"}>condition条件为真时隐藏,为假时显示</view>

hidden属性,实际上是 display=none的效果

说明如下:

<view hidden="ture">条件为真时隐藏,为假时显示</view>

在这里插入图片描述

1.4. wx:if 与 hidden 的对比

  1. 运行方式不同
    ● wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏
    ● hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏
  2. 使用建议
    ● 频繁切换时,建议使用 hidden
    ● 控制条件复杂时,建议使用 wx:if 搭配 wx:elif、wx:else 进行展示与隐藏的切换

2. 列表渲染

2.1. wx:for 语法格式 及 wx:key的使用

wx:for 就是用来遍历数组的,可以循环渲染重复的组件结构

  1. 默认wx:for的格式,每一项的索引为index,每一项的项内容是item
<view wx:for="{
    {array}}">
  索引:{
  {index}}  当前项内容 {
  {item}}
</view>
  1. 自定义 wx:for中的索引和项
    自定义wx:for中的项和索引,使用wx:for-index="xxxx"来指定索引名,使用wx:for-item="xxxx"来指定项名。
<view wx:for="{
    {array}}" wx:for-index="idx" wx:for-item="itm">
  索引:{
  {idx}}  当前项内容 {
  {itm}}
</view>
  1. wx:key的作用就是在列表渲染的过程中,给当前列表项指定唯一的key值,从而提高渲染的效率。
    例如下面的例子:
    数据部分 ,list.js
data: {
   
  userList:[
    {
   id:0,name:'张三'},
    {
   id:1,name:'李四'},
    {
   id:2,name:'王五'},
  ]
},

页面渲染部分,list.wxml

<view wx:for="{
    {userList}}" wx:key="id">
  索引:{
  {index}}  当前项内容 {
  {item.name}} 
</view>

相关文章
|
JSON 小程序 数据格式
微信小程序默认的文字内容在左上角怎么办?带你0基础快速了解skyline渲染模式。
本文主要介绍微信小程序开发中遇到的问题及其解决方法。问题通常由微信小程序自带的Skyline渲染模式引起,而非代码编写错误。解决步骤包括:1. 找到全局配置文件app.json;2. 去掉相关配置项;3. 修改后的配置示例。通过这些步骤可以有效解决文字内容顶格或覆盖的问题。文中还提供了进一步了解Skyline渲染模式的链接,帮助开发者深入理解其原理和应用。
1712 59
|
JSON 小程序 前端开发
towxml的使用,在微信小程序中快速将markdown格式渲染为wxml文本
本文介绍了在微信小程序中使用`towxml`库将Markdown格式文本渲染为WXML的方法。文章提供了`towxml`的概述、安装步骤、以及如何在小程序中配置和使用`towxml`进行Markdown解析的详细说明和代码示例。
|
小程序 开发者
微信小程序之网络数据请求 wx:request的简单使用
这篇文章介绍了微信小程序中如何使用wx.request进行网络数据请求,包括请求的配置、请求的格式以及如何在开发阶段关闭请求的合法检验。
微信小程序之网络数据请求 wx:request的简单使用
wx:for 微信小程序双重for嵌套如何获取内层的迭代对象
本文介绍了微信小程序中`wx:for`循环嵌套的使用方法,特别是如何在外层循环中访问内层循环的迭代对象。通过在外层`wx:for`中使用默认的`item`进行迭代,并在内层`wx:for`中通过`wx:for-item`属性指定迭代对象的名称,从而实现了双重`for`嵌套并获取内层迭代对象的目的。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4906 7
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
2718 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
5345 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
614 6
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
4224 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。