amis icon indicating copy to clipboard operation
amis copied to clipboard

vue项目中 通过vue-router跳转页面时 组件内的action不会触发

Open v423 opened this issue 3 years ago • 1 comments

描述问题:

vue项目中 通过vue-router跳转页面时 组件内的action不会触发

截图或视频:

可以的话,尽可能提供截图或视频来补充描述你的问题...

如何复现(请务必完整填写下面内容):

  1. 你是如何使用 amis 的? yarn

  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在 2.0.2

  3. 粘贴有问题的完整 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"}',
        },
      
      ],
    },
  ],
}
  1. 操作步骤
  2. 打开新页面操作 选择男 缴费年限中出现选项 3年5年
  3. router-link跳转到其他页面 再通过router-link跳转回当前页面
  4. 选择男 缴费年限选项不显示

ps:

  1. f5 刷新整个页面/新加载页面时不会出现问题
  2. 通过amis的action url跳转也会全刷页面不存在这个问题

v423 avatar Jul 15 '22 07:07 v423

遇到同样的问题,后面有解决方案吗?

bestway15 avatar Jul 22 '22 08:07 bestway15

我用react router也遇到同样问题,其实setvalue数据是传过去了,但是组件并没有渲染刷新

bgyl99999 avatar May 06 '23 08:05 bgyl99999