描述问题:
当我写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"}]
- 你是如何使用 amis 的?
通过amis-admin提供的index.html进行实现的。 - 粘贴有问题的完整
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条答案
按热度按时间332nm8kg1#
补充一点,这个字段的值在crud的列表的时候,显示的是options的label(而不是数字的值)。我试了一下,如果把crud获取列表的字段改为值,则没有这个问题。这个该怎么解决呢?