收藏
回答

官方小程序示例(版本号20170111)的一个bug

众所周知,官方版的小程序示例是一个国标(入门学习的标准),

但在实际的应用学习 中发现该示例中的"接口"->"媒体"->"图片"示例有个BUG.

上传的图片循环显示是报错,内容如下:

 Now you can provide attr "wx:key" for a "wx:for" to improve performance.
  53 |                 <view class="weui-uploader__bd">
  54 |                   <view class="weui-uploader__files">
> 55 |                     <block wx:for="{{imageList}}" wx:for-item="image">
     |                      ^
  56 |                       <view class="weui-uploader__file">
  57 |                         <image class="weui-uploader__img" src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image>
  58 |                       </view>


望能处理一下~

回答关注问题邀请回答
收藏

3 个回答

  • 志明
    志明
    2017-03-29

    不明白什么叫做“保持自己的特征和状态”,重新setData的时候,其他的input的内容还是被改变了,其实排序都没有变化

    2017-03-29
    有用
    回复
  • 追梦的人(IT大叔一枚)
    追梦的人(IT大叔一枚)
    2017-02-20

    哦,原来这样,受教了.多谢!

    2017-02-20
    有用
    回复
  • 韬々
    韬々
    2017-02-20

    这个不是bug,是一个关于性能优化方面的提示


    具体参见

    wx:key

    如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 <input/>中的输入内容,<switch/> 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。

    wx:key 的值以两种形式提供

    1. 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。

    2. 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如:

    当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。

    如不提供 wx:key,会报一个 warning, 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。


    2017-02-20
    有用
    回复
登录 后发表内容