收藏
回答

关于wx:key的写法,开发工具的疯狂warning问题怎么解决?

版本 1.02.1911180 ,警告内容:

wx:key="{{index}}" does not look like a valid key name (did you mean wx:key="index" ?)

以前一直是按照文档写的:wx:key="{{keyName}},现在懵了呀,到底要不要加花括号呢??

我害怕,我怕花括号全部去掉了下版本又告诉我要加花括号,所以来寻求一个官方的答复。。

现在这一直warning得也无法正常开发了,版本回退也退不到没有warning的版本了





官方也没回复,现在写了两个正则把wx:key的花括号和item.给去掉了,供各位玩家参考。

分别用:wx:key="item.(.*)" 和 wx:key="\{\{(.*)\}\}"

替换:wx:key="$1"

小前提:同个节点里的wx:for在wx:key前面,顺序不对的开发工具会报错,调整下就好了

最后一次编辑于  2019-12-16
回答关注问题邀请回答
收藏

4 个回答

  • 黯伢
    黯伢
    2019-12-16

    关于wx:key

    这个问题的出现主要是早期版本编辑器(上两次更新之前)不会对不正确的wx:key提示警告,但你不加却会提示警告,且这个属性生不生效对功能没任何影响导致没人重视,且文档也表达的不清楚,且设置方式确实与其他地方不同(不能使用花括号),所以可以说是一个坑。

    正确的写法是不能加"{{item.}}"(是错误不生效的写法),只能写成wx:key="id"(代表item.id作为key),或者本身是个字符串就wx:key="*this",如果以上两种都不匹配就直接写一个不存在的属性如wx:key="abc",这样就不会报错(应该也没生效)了。

    2019-12-16
    赞同 1
    回复 1
    • 光
      2019-12-17
      感谢解答,啊~~清楚了~
      2019-12-17
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-12-16

    感觉一般不会用到,wx:key="fdlkshjfjs随便写dfasfdsa"

    2019-12-16
    赞同
    回复 1
    • 光
      2019-12-16
      也是有用的,等遇到列表的视图跟数据不一致就把锅丢给key吧~
      2019-12-16
      回复
  • Loading...
    Loading...
    2019-12-16

    我之前也是用的什么wx:key="{{index}}",wx:key="{{item.xxx}}"之类的,然后前段时间更新之后就疯狂报错,我一怒之下全改成了wx:key="id",管他有没有id,然后就解决了。以后的事以后再说吧。

    2019-12-16
    赞同
    回复 1
    • 光
      2019-12-16
      强,这两天我可是为开发工具操碎了心啊。。
      2019-12-16
      回复
  • waterfall
    waterfall
    2019-12-16

    系统建议给每个for都加一个key, wx:for后面加一个wx:key="xxx"就没了

    2019-12-16
    赞同
    回复 1
    • 光
      2019-12-16
      哎~是这样咯,用编辑器+正则替换了,thx~
      2019-12-16
      回复
登录 后发表内容
问题标签