-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Closed
Labels
Description
描述问题:
在amis的onEvent配置里中,对目标组件进行setValue赋值操作,但目标组件配置了visibleOn属性,当setValue事件触发时,假如目标组件已经通过visibleOn属性隐藏了,控制台会出现下图中的报错,整个事件流会被阻断,无法流转,导致交互失效
截图或视频:
如何复现(请务必完整填写下面内容):
-
你是如何使用 amis 的?
sdk -
amis 版本是什么?请先在最新 beta 版本测试问题是否存在
版本是6.12.0 -
粘贴有问题的完整
amis schema代码:
{
"type": "page",
"body": {
"type": "form",
"name":"form_1",
"debug": true,
"body": [
{
"name": "mediaPlatform",
"type": "radios",
"label": "平台",
"value": "cilijinniu",
"options": [
{
"label": "磁力",
"value": "cilijinniu"
},
{
"label": "抖音",
"value": "douyin"
}
],
"onEvent": {
"change": {
"actions": [
{
"actionType": "setValue",
"componentName": "mediaProductId",
"args": {
"value": 0
}
},
{
"actionType": "setValue",
"componentName": "mediaProductOrderId",
"args": {
"value": 0
}
}
]
}
}
},
{
"type": "combo",
"id": "publishData",
"trackExpression": "${mediaPlatform}${shopPlatform}${mediaProductType}",
"label": "信息",
"name": "publishData",
"multiple": true,
"multiLine": true,
"minLength": 1,
"maxLength": 5,
"required": true,
"value": [
[]
],
"addButtonText": "新增",
"strictMode": false,
"syncFields": [
"mediaPlatform",
"shopPlatform"
],
"items": [
{
"type": "button-group-select",
"label": "链接类型",
"name": "mediaProductOrderType",
"value": "related",
"options": [
{
"label": "关联",
"value": "related"
},
{
"label": "新增",
"value": "created"
}
],
"onEvent": {
"change": {
"actions": [
{
"actionType": "setValue",
"componentId": "relatedMediaUserId",
"args": {
"value": null
}
},
{
"actionType": "setValue",
"componentId": "mediaProductId",
"args": {
"value": null
}
},
{
"actionType": "setValue",
"componentId": "mediaProductOrderId",
"args": {
"value": null
}
},
{
"actionType": "setValue",
"componentId": "mediaUserId",
"args": {
"value": null
}
}
]
}
}
},
{
"type": "picker",
"name": "mediaProductId",
"id": "mediaProductId",
"visibleOn": "${mediaProductOrderType == 'related' && ARRAYINCLUDES(['cilijinniu', 'qianchuan'], mediaPlatform)}",
"requiredOn": "${mediaProductOrderType == 'related' && ARRAYINCLUDES(['cilijinniu', 'qianchuan'], mediaPlatform)}",
"disabledTip": "请选择套餐后操作",
"modalMode": "drawer",
"size": "xl",
"label": "商品链接",
"options": [
{
"label": "A",
"value": 899
},
{
"label": "B",
"value": 898
},
{
"label": "C",
"value": 897
}
]
},
{
"type": "picker",
"name": "mediaProductOrderId",
"id": "mediaProductOrderId",
"requiredOn": "${mediaProductOrderType == 'created'}",
"visibleOn": "${mediaProductOrderType == 'created' && mediaPlatform == 'cilijinniu'}",
"disabledTip": "请选择套餐后操作",
"searchable": true,
"modalMode": "drawer",
"size": "xl",
"label": "商品组",
"options": [
{
"label": "商品组1",
"value": 456
},
{
"label": "商品组2",
"value": 457
},
{
"label": "商品组3",
"value": 458
}
]
},
{
"type": "select",
"name": "mediaUserId",
"id": "mediaUserId",
"label": "店铺",
"optionClassName": "selectHeight",
"labelField": "name",
"valueField": "mediaUserId",
"requiredOn": "${mediaProductOrderType == 'created'}",
"visibleOn": "${mediaProductOrderType == 'created' && mediaPlatform == 'cilijinniu'}",
"options": [
{
"name": "店铺1",
"mediaUserId": 101
},
{
"name": "店铺2",
"mediaUserId": 102
},
{
"name": "店铺3",
"mediaUserId": 103
}
]
}
]
}
]
}
}
- 操作步骤
请简单描述一下复现的操作步骤...
如上面 json 渲染的页面,切换选项就会报错
用你昨天提供的方法好像无法实现,用昨天的方法当例子里面有combo,切换链接类型时,我该如何正确找到对应combo进行setValue数据修改
