baidu / baidu/amis

curd 新增按钮配置丢失

Open
#4,200 1 comment 0 reactions 0 assignees View on GitHub
feat fix need confirm
Dominant language
TypeScript
Stars
18.9k
Forks
2.7k
PR merge metrics
No merged PRs in 30d

Description

### 复现方式(必现):
1. 配置个curd页面, 修改新增的弹窗配置
2. 通过小锄头打开curd的配置页,保存
3. 新增的弹窗配置被覆盖, 通过预览还有展示找不到渲染器

### schem:

```json
{"type":"page","title":"HH","body":[{"type":"crud","syncLocation":false,"api":{"method":"get","url":"operate/list","data":{"&":"$$","type":"1"}},"columns":[{"label":"配置ID","type":"text","name":"operateId"},{"label":"状态","type":"mapping","name":"status","source":"${dict.operateStatus.map}"},{"label":"坑位号","type":"mapping","name":"type","source":"${dict.operate.map}"},{"label":"配置名称","type":"text","name":"name","checkAll":false,"placeholder":"-"},{"label":"生效时间","type":"date","name":"startTime"},{"label":"失效时间","type":"date","name":"endTime"},{"label":"创建时间","type":"date","name":"createTime"},{"label":"更新时间","type":"date","name":"updatedTime"},{"type":"operation","label":"操作","buttons":[{"label":"编辑","type":"button","actionType":"dialog","level":"link","dialog":{"title":"编辑","body":[{"type":"form","api":"post:operate/update","body":[{"label":"配置ID","name":"operateId","type":"input-text","visibleOn":"","clearValueOnHidden":false,"visible":false},{"label":"坑位名称","name":"name","type":"input-text"},{"label":"生效时间","name":"startTime","type":"input-date","value":"","minDate":"","maxDate":"","format":""},{"label":"失效时间","name":"endTime","type":"input-date","value":"","minDate":"","maxDate":"","format":""},{"type":"combo","label":"展示商品","name":"content","multiple":true,"items":[{"type":"select","name":"productId","label":"关联商品","options":[],"id":"u:85ccc46f72d0","checkAll":false,"source":{"method":"get","url":"product/list","data":{"status":"1","page":"1","perPage":"1000"},"adaptor":"payload.data.options = payload.data.items.map(item => {\n return { ...item, label: item.name,value:item.productId }\n})\nreturn payload;"},"required":true},{"type":"input-text","name":"name","label":"名称","id":"u:4bed64167855","required":true},{"type":"input-image","label":"商品LOGO","name":"logo","id":"u:2c377e2da6b6","imageClassName":"r w-full","multiple":false,"receiver":"post:common/upload","accept":".jpeg, .jpg, .png, .gif","fixedSize":false,"hideUploadButton":false,"autoUpload":false,"compress":true,"compressOptions":{},"required":true},{"type":"input-number","label":"销量(留空则计算真实值,负数则转正并累计真实值)","name":"sale","id":"u:c04b7b3e9820"},{"type":"input-number","label":"展示价格","name":"price","id":"u:3d76d4981556","required":true},{"type":"combo","label":"推荐词设置","name":"advantages","multiple":true,"items":[{"type":"select","name":"lang","label":"语言","options":[],"id":"u:d4efbe39afde","checkAll":false,"source":"${dict.i18n.options}"},{"type":"textarea","name":"text","label":"推荐文本(注意换行,每行最多15个字符)","id":"u:acecaae4f1ac","checkAll":false,"minRows":3,"maxRows":10,"minLength":5,"maxLength":150,"trimContents":true}],"id":"u:cf2436e7a4a4","multiLine":true,"joinValues":true,"messages":{},"required":true},{"type":"input-text","label":"互动群","name":"wechatGroup","id":"u:b1c7b68bf7d6"}],"id":"u:1b0d5e94d07c","multiLine":true,"joinValues":true,"messages":{},"required":true}]}],"type":"dialog","closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"size":"xl"}},{"type":"button","label":"${status===1?'禁用':'启用'}","actionType":"ajax","dialog":{"title":"系统提示","body":"对你点击了"},"id":"u:c715368d8abc","level":"link","api":{"method":"post","url":"operate/update","data":{"operateId":"${operateId}","status":"${status==1?0:1}"}},"tooltip":"","tooltipPlacement":"bottom","confirmText":"确定要修改?"},{"label":"查看","type":"button","actionType":"dialog","level":"link","dialog":{"title":"查看详情","body":[{"type":"form","api":"xxx/update","body":[{"label":"配置ID","name":"operateId","type":"static"},{"label":"状态","name":"status","type":"static"},{"label":"坑位名称","name":"name","type":"static"},{"label":"展示商品","name":"content","type":"combo","multiple":true,"items":[{"type":"select","name":"productId","label":"关联商品","options":[],"id":"u:85ccc46f72d0","checkAll":false,"source":{"method":"get","url":"product/list","data":{"status":"1","page":"1","perPage":"1000"},"adaptor":"payload.data.options = payload.data.items.map(item => {\n return { ...item, label: item.name,value:item.productId }\n})\nreturn payload;"}},{"type":"input-text","name":"name","label":"名称","id":"u:4bed64167855"},{"type":"input-number","label":"展示价格","name":"price","id":"u:c04b7b3e9820"},{"type":"combo","label":"推荐词设置","name":"advantages","multiple":true,"items":[{"type":"select","name":"lang","label":"语言","options":[],"id":"u:d4efbe39afde","checkAll":false,"source":"${dict.i18n.options}"},{"type":"textarea","name":"text","label":"推荐文本(注意换行,每行最多15个字符)","id":"u:acecaae4f1ac","checkAll":false,"minRows":3,"maxRows":10,"minLength":5,"maxLength":150,"trimContents":true}],"id":"u:cf2436e7a4a4","multiLine":true,"joinValues":true,"messages":{}},{"type":"input-text","label":"互动群","name":"wechatGroup","id":"u:b1c7b68bf7d6"}],"id":"u:1b0d5e94d07c","multiLine":true,"joinValues":true,"messages":{},"required":true,"disabled":true,"disabledOn":""},{"label":"生效时间","name":"startTime","type":"static"},{"label":"失效时间","name":"endTime","type":"static"},{"label":"创建时间","name":"createTime","type":"static"},{"label":"更新时间","name":"updatedTime","type":"static"}]}],"type":"dialog","closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"size":"xl"}},{"type":"button","label":"删除","actionType":"ajax","level":"link","className":"text-danger","confirmText":"确定要删除?","api":"POST:operate/del"}]}],"bulkActions":[],"itemActions":[],"filterSettingSource":["operateId","isDeleted","status","type","name","content","startTime","endTime","createTime","updatedTime"],"features":["create","filter","update","view","delete"],"filterColumnCount":3,"filterEnabledList":[{"label":"operateId","value":"operateId"},{"label":"status","value":"status"},{"label":"type","value":"type"},{"label":"name","value":"name"},{"label":"startTime","value":"startTime"},{"label":"endTime","value":"endTime"}],"headerToolbar":[{"label":"新增","type":"button","actionType":"dialog","level":"primary","dialog":{"title":"新增","body":[{"type":"form","api":{"method":"post","url":"operate","data":{"&":"$$","type":"1"}},"body":[{"label":"配置名称","name":"name","type":"input-text"},{"label":"生效时间","name":"startTime","type":"input-date","value":"","minDate":"","maxDate":"","format":""},{"label":"失效时间","name":"endTime","type":"input-date","value":"","minDate":"","maxDate":"","format":""},{"type":"combo","label":"展示商品","name":"content","multiple":true,"items":[{"type":"select","name":"productId","label":"关联商品","options":[],"id":"u:85ccc46f72d0","checkAll":false,"source":{"method":"get","url":"product/list","data":{"status":"1","page":"1","perPage":"1000"},"adaptor":"payload.data.options = payload.data.items.map(item => {\n return { ...item, label: item.name,value:item.productId }\n})\nreturn payload;"},"required":true},{"type":"input-text","name":"name","label":"名称","id":"u:4bed64167855","required":true},{"type":"input-image","label":"商品LOGO","name":"logo","id":"u:2c377e2da6b6","imageClassName":"r w-full","multiple":false,"receiver":"post:common/upload","accept":".jpeg, .jpg, .png, .gif","fixedSize":false,"hideUploadButton":false,"autoUpload":false,"compress":true,"compressOptions":{},"required":true},{"type":"input-number","label":"销量(留空则计算真实值,负数则转正并累计真实值)","name":"sale","id":"u:c04b7b3e9820"},{"type":"input-number","label":"展示价格","name":"price","id":"u:3d76d4981556","required":true},{"type":"combo","label":"推荐词设置","name":"advantages","multiple":true,"items":[{"type":"select","name":"lang","label":"语言","options":[],"id":"u:d4efbe39afde","checkAll":false,"source":"${dict.i18n.options}"},{"type":"textarea","name":"text","label":"推荐文本(注意换行,每行最多15个字符)","id":"u:acecaae4f1ac","checkAll":false,"minRows":3,"maxRows":10,"minLength":5,"maxLength":150,"trimContents":true}],"id":"u:cf2436e7a4a4","multiLine":true,"joinValues":true,"messages":{},"required":true},{"type":"input-text","label":"互动群","name":"wechatGroup","id":"u:b1c7b68bf7d6"}],"id":"u:1b0d5e94d07c","multiLine":true,"joinValues":true,"messages":{},"required":true}]}],"type":"dialog","closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"size":"xl"}},"bulkActions"],"filter":{"title":"查询条件","columnCount":3,"mode":"horizontal","body":[{"type":"input-text","label":"配置ID","name":"operateId"},{"type":"select","label":"状态","name":"status","options":[],"id":"u:3b48145d5845","checkAll":false,"source":"${dict.operateStatus.options}"},{"type":"input-text","label":"配置名称","name":"name","id":"u:0429658ad4eb"}]},"id":"u:d3f4d589a5dd"}],"messages":{},"style":{},"regions":["body"]}
```

### 复现截图:
1. 导入schema, 预览看新增的效果
![image](https://user-images.githubusercontent.com/9654460/165955469-a603b2b8-6b19-4b8b-9b89-0609d0342d78.png)

2. 打开curd的配置页,点保存
![image](https://user-images.githubusercontent.com/9654460/165955688-df4ac609-20e0-46fc-ba90-fcf0e3ea21e2.png)

3. 再看新增的效果,新增的配置被覆盖了
![image](https://user-images.githubusercontent.com/9654460/165955943-8074e0bf-9899-4107-8e67-8414c0e70c6f.png)

还有一个问题 右键复制配置功能不会触发copy,剪贴可以,官方demo也没效果

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue with the supplied CRUD schema: preview the create dialog, open the CRUD configuration page, save, and compare the result. Trace the configuration-save flow and the context-menu copy action; done means the create-dialog settings remain intact after saving and copy is triggered as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.