amis
amis copied to clipboard
vue项目中 通过vue-router跳转页面时 组件内的action不会触发
描述问题:
vue项目中 通过vue-router跳转页面时 组件内的action不会触发
截图或视频:
可以的话,尽可能提供截图或视频来补充描述你的问题...
如何复现(请务必完整填写下面内容):
-
你是如何使用 amis 的? yarn
-
amis 版本是什么?请先在最新 beta 版本测试问题是否存在 2.0.2
-
粘贴有问题的完整
amis schema代码:
{
type: 'page',
body: [
{
id: 'u:123123',
type: 'form',
data: {
optList: {
A: [
{
label: '3年',
value: 'a',
},
{
label: '5年',
value: 'b',
},
],
B: [
{
label: '3年',
value: 'a',
},
{
label: '5年',
value: 'b',
},
{
label: '10年',
value: 'c',
},
{
label: '趸交',
value: 'd',
},
],
},
opts: [],
saveYearsData: [
{
label: '10年',
value: '10',
},
{
label: '20年',
value: '20',
},
{
label: '终生',
value: 'max',
},
],
},
body: [
{
type: 'select',
label: '性别',
name: 'sex',
options: [
{
label: '男',
value: 'A',
},
{
label: '女',
value: 'B',
},
],
id: 'u:af1ad4e2f8db',
multiple: false,
mode: 'inline',
onEvent: {
change: {
weight: 0,
actions: [
{
actionType: 'setValue',
args: {
value: {
opts: '${optList[event.data.value]}',
},
},
componentId: 'u:123123',
},
],
},
},
},
{
type: 'radios',
label: '缴费年限 男的3年5年 女的全部',
name: 'years',
id: 'u:d731760b321d',
multiple: false,
mode: 'inline',
source: '${opts}',
},
{
type: 'radios',
name: 'saveYears',
label: '保障年限 缴费年限5年时禁用',
source: '${saveYearsData}',
selectFirst: true,
disabledOn: '${years === "b"}',
},
],
},
],
}
- 操作步骤
- 打开新页面操作 选择男 缴费年限中出现选项 3年5年
- router-link跳转到其他页面 再通过router-link跳转回当前页面
- 选择男 缴费年限选项不显示
ps:
- f5 刷新整个页面/新加载页面时不会出现问题
- 通过amis的action url跳转也会全刷页面不存在这个问题
遇到同样的问题,后面有解决方案吗?
我用react router也遇到同样问题,其实setvalue数据是传过去了,但是组件并没有渲染刷新