小程序----条件渲染

简介: 小程序----条件渲染

1 wx:if

在小程序中,使用 wx:if=“{{condition}}” 来判断是否需要渲染该代码块,也可以用 wx:elif 和 wx:else 来添加 else 判断。

<!--pages/list/list.wxml-->
<input type="text" bindinput="ipt"/>
<view>性别:</view>
<view wx:if="{{type==='1'}}">男</view>
<view wx:elif="{{type==='0'}}">女</view>
<view wx:else>保密</view>
// pages/list/list.js
Page({
  data: {
    type: ''
  },
  ipt(e) {
    this.setData({
      type: e.detail.value
    })
  }
})

2 结合 使用 wx:if

如果要一次性控制多个组件的展示与隐藏,可以使用一个 <block></block> 标签将多个组件包装起来,并在<block> 标签上使用 wx:if 控制属性。

注意: <block> 并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染。

<!--pages/list/list.wxml-->
<block wx:if="{{true}}">
  <input type="text" bindinput="ipt"/>
  <view>性别:</view>
  <view wx:if="{{type==='1'}}">男</view>
  <view wx:elif="{{type==='0'}}">女</view>
  <view wx:else>保密</view>
</block>

<!--pages/list/list.wxml-->
<block wx:if="{{false}}">
  <input type="text" bindinput="ipt"/>
  <view>性别:</view>
  <view wx:if="{{type==='1'}}">男</view>
  <view wx:elif="{{type==='0'}}">女</view>
  <view wx:else>保密</view>
</block>

3 hidden

在小程序中,直接使用 hidden=“{{ condition }}” 也能控制元素的显示与隐藏。

condition 为true 隐藏;false为显示。

<!--pages/list/list.wxml-->
<view hidden="{{false}}">
  <input type="text" bindinput="ipt"/>
  <view>性别:</view>
  <view wx:if="{{type==='1'}}">男</view>
  <view wx:elif="{{type==='0'}}">女</view>
  <view wx:else>保密</view>
</view >

<!--pages/list/list.wxml-->
<view hidden="{{true}}">
  <input type="text" bindinput="ipt"/>
  <view>性别:</view>
  <view wx:if="{{type==='1'}}">男</view>
  <view wx:elif="{{type==='0'}}">女</view>
  <view wx:else>保密</view>
</view>

4 wx:if 与 hidden 的对比

  1. 运行方式不同

wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏

hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏

  1. 使用建议

频繁切换时,建议使用 hidden

控制条件复杂时,建议使用 wx:if 搭配 wx:elif、wx:else 进行展示与隐藏的切换


相关文章
|
6月前
|
JSON 小程序 JavaScript
小程序数据渲染根据返回值计算百分比并且显示
小程序数据渲染根据返回值计算百分比并且显示
30 0
|
6月前
|
小程序 JavaScript
小程序简单循环列表数据渲染实例
小程序简单循环列表数据渲染实例
40 0
|
6天前
|
小程序 容器
【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if & hidden (十一)
【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if & hidden (十一)
|
6天前
|
小程序 算法 UED
【专栏】小程序图片合成就绪渲染的转变,从异步并发渲染到同步阻塞渲染
【4月更文挑战第29天】本文探讨了小程序图片合成就绪渲染的转变,从异步并发渲染(提高效率,并发处理但可能导致资源竞争和顺序难控)到同步阻塞渲染(顺序可控,资源管理更精细,可能引起界面卡顿)。同步阻塞通过任务队列和阻塞机制确保顺序,解决并发问题。注意避免长时间阻塞,及时释放资源,优化任务效率,并结合异步处理。选择合适方案取决于实际需求,以平衡效率与一致性。
|
6月前
|
JSON 小程序 JavaScript
小程序根据返回值的int类型渲染不同的状态
小程序根据返回值的int类型渲染不同的状态
70 0
|
6天前
|
小程序 JavaScript 索引
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
|
6天前
|
文字识别 小程序 开发工具
【社区每周】小程序新增Native渲染模式(12月第二期)
【社区每周】小程序新增Native渲染模式(12月第二期)
40 0
|
9月前
|
存储 小程序 UED
微信小程序-列表渲染
微信小程序可有意思了
242 0
|
6天前
|
小程序 前端开发 JavaScript
java后台restTemplate生成二小程序维码,前端渲染
java后台restTemplate生成二小程序维码,前端渲染
|
6天前
|
存储 小程序 JavaScript
微信小程序替换双重循环渲染中报错图片
微信小程序替换双重循环渲染中报错图片
127 0

热门文章

最新文章