amis icon indicating copy to clipboard operation
amis copied to clipboard

数据域里增加静态数据时,如果key以__开头,不生效

Open snowing-x opened this issue 1 year ago • 8 comments

数据域里增加静态数据时,如果key以__开头,不生效。 想了解一下这么做是出于什么考虑?另外哪些地方有__的特殊处理?

snowing-x avatar Jun 25 '24 11:06 snowing-x

应该没有特殊处理 方便发下有问题的 json 吗?

allenve avatar Jun 25 '24 11:06 allenve

把下面的schema复制粘贴进编辑器,点预览以后,文本框没有值;再点编辑以后,schema里已经没有 "__testB": "456" 这一项了。 直接配置【组件静态数据】,添加key以__开头的数据,schema里会不展示这项数据。

{
  "type": "page",
  "body": [
    {
      "type": "input-text",
      "label": "文本",
      "name": "__testB",
      "id": "u:d8d5072dd884"
    }
  ],
  "id": "u:933dfc4abcf5",
  "data": {
    "testA": "123",
    "__testB": "456"
  }
}

snowing-x avatar Jun 25 '24 12:06 snowing-x

把下面的schema复制粘贴进编辑器,点预览以后,文本框没有值;再点编辑以后,schema里已经没有 "__testB": "456" 这一项了。 直接配置【组件静态数据】,添加key以__开头的数据,schema里会不展示这项数据。

{
  "type": "page",
  "body": [
    {
      "type": "input-text",
      "label": "文本",
      "name": "__testB",
      "id": "u:d8d5072dd884"
    }
  ],
  "id": "u:933dfc4abcf5",
  "data": {
    "testA": "123",
    "__testB": "456"
  }
}

编辑器是6.0.0版本

snowing-x avatar Jun 25 '24 12:06 snowing-x

编辑器里面确实有特殊处理 用来维护一些内部数据 amis本身是支持的

allenve avatar Jun 25 '24 12:06 allenve

编辑器里对__的特殊处理包括哪些啊?是只针对数据域,还是其它地方也有?

snowing-x avatar Jun 25 '24 12:06 snowing-x

仅在schema中不会展示 没有其他影响吧

allenve avatar Jun 26 '24 03:06 allenve

编辑器,预览时候也不生效

snowing-x avatar Jun 26 '24 05:06 snowing-x

参考这里吧 https://github.com/baidu/amis/blob/master/packages/amis-editor-core/src/store/editor.ts#L575 目前 __ 和 $$ 开头的会过滤掉

allenve avatar Jun 28 '24 03:06 allenve