curd 新增按钮配置丢失
- 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, 预览看新增的效果

2. 打开curd的配置页,点保存

3. 再看新增的效果,新增的配置被覆盖了

还有一个问题 右键复制配置功能不会触发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