vue2 refs 向vue3 ref 转换

 <template v-for="(tplItem, tplIndex) in processStructureValue.tpls">
            <fm-generate-form
              v-show="currentNode.hideTpls===undefined ||
                currentNode.hideTpls===null ||
                currentNode.hideTpls.indexOf(tplItem.form_structure.id)===-1"
              :key="tplIndex"
              :ref="'generateForm-'+tplItem.id"
             
            />
          </template>

promiseList.push(this.$refs['generateForm-' + tpl.id][0].getData())

在Vue3 中如何实现呢?

 <template v-for="(tplItem, tplIndex) in processStructureValue.tpls" :key="tplIndex">
    <generate-form v-show="currentNode.hideTpls === undefined ||
      currentNode.hideTpls === null ||
      currentNode.hideTpls.indexOf(tplItem.form_structure.id) === -1" 
      :ref="generateFormRef(tplItem.id)" 
      </template>

增加一个转换函数

const generateForms = ref({});

const generateFormRef = (id) => {

return (el) => {

generateForms.value[`generateForm-${id}`] = el;

};

};

const formKey = `generateForm-${tpl.id}`;

if (generateForms.value[formKey]) {

promiseList.push(generateForms.value[formKey].getData())

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值