vue 动态组件 v-for动态ref获取解决方案

  <component
          :key="item.labelcode"
          :is="item.labelcode"
          :ref="item.labelcode"
  ></component>

踩坑:
1.动态组件:
is后面是动态的组件名

<component
          :is="item.labelcode"
  ></component>

2.vue的比较更新算法,如果v-for的标签和其他标签同级,其他标签有v-if这些判断,会不更新,每个标签加个key。要不然获取不到

this.$refs[`${code}`]=[];

3.在渲染完成后在调用

this.$nextTick(() => {
            this.$refs[`${code}`][0].draw();
          });
Logo

前往低代码交流专区

更多推荐