列表渲染:就是指通过循环遍历一个数组或对象,将其中的每个元素渲染到页面上
只需要在组件上使用 wx:for
属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件
默认数组当前项的变量名默认为 item
默认数组的当前项的下标变量名默认为 index
在使用 wx:for
对数组进行遍历的时候,建议加上 wx:key
属性,如不提供 wx:key
,会报一个 warning
, 如果明确知道该列表是静态,即以后数据不会改变,或者不必关注其顺序,可以选择忽略。
wx:key
的值以两种形式提供:
字符串:代表需要遍历的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变
保留关键字 *this
代表在 for 循环中的 item 本身,当 item 本身是一个唯一的字符串或者数字时可以使用
当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且 提高列表渲染时的效率 。
📌 注意事项:
在使用
wx:for
对数组进行遍历的时候,建议加上wx:key
属性,否则控制台会报警告
如果需要对默认的下标和变量名进行修改,可以使用 wx:for-item
和 wx:for-index
使用 wx:for-item
可以指定数组当前元素的变量名
使用 wx:for-index
可以指定数组当前下标的变量名
如果需要渲染一个包含多节点的结构块,可以使用一个 <block/>
标签将多个组件包装起来
注意: <block/>
并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。