收藏
回答

列表渲染二级对象的wx:key问题?

使用列表渲染二级对象时(例如{{chat.chat}}),为确保数据重新渲染正确,我希望wx:key是chat.chat.msgId(唯一值)。

这种情况,wx:key要怎么表示?谢谢

	<view wx:for="{{chat.chat}}" wx:key="{{item.msgId}}" class="chat-item">
		<view wx:if="{{item.isSystemMsg}}" class="margin-top margin-bottom-sm text-center"><text class="chat-SystemTip">{{item.formatDate}} {{item.formatTime}} <text class='cuIcon-titles'></text> {{item.content}}</text></view>
		<view wx:if="{{!item.isSystemMsg}}" class="margin-top margin-bottom-sm text-gray text-center">{{item.formatDate}} {{item.formatTime}}</view>
		<view wx:if="{{!item.isSystemMsg}}" class="chat-main margin-bottom {{item.by==loginInfo.staffOpenId?'toRight':'toLeft'}}">
			<view class="chat-avatar bg-white shadow" style="background-image:url({{item.avatar}})"></view>
			<view class="chat-content">
				<text class="flex align-center">{{item.content}}</text>
			</view>
		</view>
	</view>




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

1 个回答

  • brave
    brave
    2020-08-01

    现在的key不需要写成wx.key="{{item.id}}",直接写wx.key="id"

    2020-08-01
    有用 1
    回复 8
    • 唐同学
      唐同学
      2020-08-01
      报错:VM1469:1 Do not set same key \“quot;1596208136799\”quot; in wx:key.
      2020-08-01
      回复
    • brave
      brave
      2020-08-01回复唐同学
      重新敲一下,你这个报错不应该
      2020-08-01
      回复
    • 唐同学
      唐同学
      2020-08-01
      还真不报错了!


      但又个问题来了,有没有办法输出验证一下wx:key是什么,因为wx:key="msgId"这样的写法,我觉得它就是个字符串。


      例如我随便输入wx:key="testtesttest"这样的值,再item中是没有的,也不报错,正常?
      2020-08-01
      回复
    • brave
      brave
      2020-08-01回复唐同学
      2020-08-01
      回复
    • brave
      brave
      2020-08-01回复唐同学
      一些没有交互性,动态修改的,可以随便写一个key值。
      2020-08-01
      回复
    查看更多(3)
登录 后发表内容
问题标签