微信小程序列表渲染和条件渲染

首先是if条件判断,如下代码段:先给出条件判断表达式,接上问号,第一个值是为true的结果,冒号后面是为false的结果

<view>{{10%2==0?"偶数":"奇数"}}</view>     <!--if条件判断-->

再在js当中定义了一个list列表。在定义列表如下代码所示:给出一个简单的列表。

 list:[
      {
      id:0,
      name:"月月鸟"
    },
    {
      id:1,
      name:"月月大鸟"
    }
    ]

怎么获取列表的值呢,这个使用就要使用wx:for了,先wx:for给出要循环的对象,这里也就是list列表,wx:for-index和wx:for-item的值就好比于for循环当中的i和j。最后的wx:key只是对循环做一个优化,节省时间,给出的值必须是在列表当中是唯一的值,好比主键

<view wx:for="{{list}}" wx:for-index="index" wx:for-item="item" wx:key="id">
<!--列表循环,索引和值,以及优化索引(给出唯一列)-->
索引:{{index}}----{{item.name}}--{{item.id}}
</view>

需要注意的是,这里的{{index}}获取的值是索引值,从0开始。
当然在前面定义的person对象也可以使用wx:for进行取值:地址链接

<!--如果只有一层循环,可以省略wx:for-index 和 wx:for-item-->
<view wx:for="{{person}}" wx:key="name">
属性:{{index}}--值:{{item}}
</view>

再就是wx:if,表示的意思就是是否移除该标签:运行后,在控制台当中,与console同级的Wxml当中耒阳看到在等于false的值的标签是看不到了的。

<view wx:if="{{true}}">显示</view>
<view wx:if="{{false}}">隐藏</view>

使用hidden属性,只是将其隐藏。

<view hidden="{{true}}">hiddden</view>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信小程序中可以使用 `wx:for` 标签来进行列表渲染,同时也可以通过自定义属性来实现筛选功能。以下是一个简单的示例: ```html <view> <picker mode="selector" range="{{categories}}" bindchange="onCategoryChange"> <view class="picker"> {{category}} <image src="/images/arrow-down.png"></image> </view> </picker> <scroll-view scroll-y="true" style="height: 500rpx;"> <view wx:for="{{filteredItems}}" wx:key="id"> <view>{{item.name}}</view> <view>{{item.category}}</view> </view> </scroll-view> </view> ``` 在上面的代码中,我们使用了 `<picker>` 标签来展示一个下拉列表,用户可以选择不同的分类。当用户选择某个分类后,我们会触发 `onCategoryChange` 函数来更新 `category` 变量的值,并重新计算 `filteredItems` 数组,以过滤出符合当前分类的数据项。 以下是相应的 JavaScript 代码: ```javascript Page({ data: { items: [ { id: 1, name: 'Item 1', category: 'Category A' }, { id: 2, name: 'Item 2', category: 'Category B' }, { id: 3, name: 'Item 3', category: 'Category A' }, { id: 4, name: 'Item 4', category: 'Category C' }, { id: 5, name: 'Item 5', category: 'Category B' }, ], categories: ['All', 'Category A', 'Category B', 'Category C'], category: 'All', filteredItems: [], }, onCategoryChange: function(e) { const index = e.detail.value; const category = this.data.categories[index]; const items = this.data.items; let filteredItems = items; if (category !== 'All') { filteredItems = items.filter(item => item.category === category); } this.setData({ category: category, filteredItems: filteredItems, }); } }); ``` 在上面的代码中,我们定义了一个 `items` 数组来存储所有数据项,一个 `categories` 数组来存储所有分类,一个 `category` 变量来存储当前选择的分类,以及一个 `filteredItems` 数组来存储当前分类下的所有数据项。当用户选择某个分类后,我们会根据该分类过滤出符合条件的数据项,并更新 `filteredItems` 数组,以触发列表渲染
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Modify_QmQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值