amis 动态加载options下拉选项时已经加载的数据无法与加载的选项匹配,

t1qtbnec  于 2022-11-02  发布在  其他
关注(0)|答案(1)|浏览(735)
描述问题:

当我写CRUD的时候,有一个外键字段,我做成了Options动态加载的下拉框。
但是我在修改数据的时候,加载的数据无法与动态加载的options的选项进行匹配而显示,导致这个选项变成了空。

截图或视频:

可以的话,尽可能提供截图或视频来补充描述你的问题...

如何复现(请务必完整填写下面内容):

更新数据的时候按照加载数据两个接口的返回值:

这是先获取到的要更新的数据的接口返回值。
get:/admin/Book/update/${id}

{"status":0,"msg":"","data":[{"name":"书籍1","id":1,"rating":12.0,"author":1}]}

这是author字段加载options的返回值
get:/admin/Book/select?field=author

[{"value":1,"label":"作者1"}]
  1. 你是如何使用 amis 的?
    通过amis-admin提供的index.html进行实现的。
  2. 粘贴有问题的完整 amis schema 代码:
    重点在第35行
{
  "status": 0,
  "msg": "",
  "data": {
    "pages": [
      {
        "label": "default",
        "children": [
          {
            "label": "Book",
            "icon": "",
            "url": "/admin/Book",
            "schema": {
              "type": "page",
              "title": "Book",
              "body": [
                {
                  "type": "crud",
                  "api": "get:/admin/Book/list",
                  "columns": [
                    {
                      "type": "text",
                      "name": "id",
                      "label": "id"
                    },
                    {
                      "type": "text",
                      "name": "name",
                      "label": "name"
                    },
                    {
                      "type": "text",
                      "name": "author",
                      "label": "author"
                    },
                    {
                      "type": "button",
                      "label": "修改",
                      "actionType": "dialog",
                          "level": "primary",
                      "dialog": {
                        "title": "修改",
                        "nextCondition": true,
                              "body": {
                          "type": "form",
                          "name": "修改Book",
                          "api": "put:/admin/Book/update/${id}",
                          "initApi": "get:/admin/Book/update/${id}",
                          "controls": [
                            {
                              "type": "text",
                              "name": "name",
                              "label": "name",
                              "inline": false,
                              "submitOnChange": false,
                              "disabled": false,
                              "required": true,
                              "validations": {
                                "maxLength": 255
                              },
                              "mode": "normal",
                              "size": "md"
                            },
                            {
                              "type": "select",
                              "name": "author",
                              "label": "author",
                              "inline": false,
                              "submitOnChange": false,
                              "disabled": false,
                              "required": false,
                              "mode": "normal",
                              "source": "get:/admin/Book/select?field=author",
                              "multiple": false,
                              "searchable": false,
                              "autoComplete": true
                            }
                          ]
                        }
                      }
                    }

                  ],
                  "affixHeader": false
                }
              ],
              "initFetch": false
            }
          }
        ]
      }
    ]
  }
}
  1. 操作步骤
    无。
332nm8kg

332nm8kg1#

补充一点,这个字段的值在crud的列表的时候,显示的是options的label(而不是数字的值)。我试了一下,如果把crud获取列表的字段改为值,则没有这个问题。这个该怎么解决呢?

相关问题