UNPKG

el-plus-powerful-form

Version:

## [DOCS](https://peng-xiao-shuai.github.io/vite-vue-admin-docs/zh-CN/component_directive/component/powerful-form-doc.html)

1 lines 2.93 kB
{"version":3,"file":"useGetRefs.mjs","sources":["../../packages/hooks/useGetRefs.ts"],"sourcesContent":["/*\n * @Author: peng-xiao-shuai\n * @Date: 2023-11-21 10:53:17\n * @LastEditors: peng-xiao-shuai\n * @LastEditTime: 2023-12-25 14:43:30\n * @Description:\n */\nimport type { UnwrapRef } from 'vue'\n\n/**\n * 异步获取 ref 实例\n * @param {string} refName ref实例名称\n */\nexport const useAsyncGetRefs = <T = any>(\n refName: string,\n proxy: ComponentPublicInstance = getCurrentInstance()?.proxy!\n): Promise<T | null> => {\n return new Promise((resolve) => {\n /**\n * 递归获取 ref 实例\n */\n const getRefs = (that: typeof proxy.$) => {\n // console.log(Object.keys(that.refs), 'Object.keys(that.refs)')\n\n if (Object.keys(that.refs).includes(refName)) {\n resolve(that.refs[refName] as T)\n return\n } else {\n if (that.parent) getRefs(that.parent)\n else {\n resolve(null)\n return\n }\n }\n }\n\n onMounted(() => {\n nextTick(() => {\n if (proxy) {\n getRefs(proxy.$)\n } else {\n console.error('错误,proxy 空')\n }\n })\n })\n })\n}\n\n/**\n * 同步获取 ref 实例\n * @param {string} refName ref实例名称\n */\nexport const useGetRefs = <T = any>(\n refName: string,\n proxy: ComponentPublicInstance = getCurrentInstance()?.proxy!\n): Ref<UnwrapRef<T> | null> => {\n const componentRef = ref<T | null>(null)\n\n /**\n * 递归获取 ref 实例\n */\n const getRefs = (that: typeof proxy.$): UnwrapRef<T> | null => {\n if (Object.keys(that.refs).includes(refName))\n return that.refs[refName] as UnwrapRef<T>\n else {\n if (that.parent) return getRefs(that.parent)\n else return null\n }\n }\n\n if (proxy) {\n componentRef.value = getRefs(proxy.$)\n } else {\n console.error('错误,proxy 空')\n }\n\n return componentRef as Ref<UnwrapRef<T> | null>\n}\n"],"names":["useAsyncGetRefs","refName","proxy","_a","getCurrentInstance","resolve","getRefs","that","onMounted","nextTick","useGetRefs","componentRef","ref"],"mappings":";AAaO,MAAMA,IAAkB,CAC7BC,GACAC,KAAiC,CAAAC,WAAAC,EAAA,MAAA,gBAAAD,EAAsB,aAEhD,IAAI,QAAQ,CAACE,MAAY;AAIxB,QAAAC,IAAU,CAACC,MAAyB;AAGxC,QAAI,OAAO,KAAKA,EAAK,IAAI,EAAE,SAASN,CAAO,GAAG;AACpC,MAAAI,EAAAE,EAAK,KAAKN,CAAO,CAAM;AAC/B;AAAA,IAAA,WAEIM,EAAK;AAAQ,MAAAD,EAAQC,EAAK,MAAM;AAAA,SAC/B;AACH,MAAAF,EAAQ,IAAI;AACZ;AAAA,IACF;AAAA,EACF;AAGF,EAAAG,EAAU,MAAM;AACd,IAAAC,EAAS,MAAM;AACb,MAAIP,IACFI,EAAQJ,EAAM,CAAC,IAEf,QAAQ,MAAM,YAAY;AAAA,IAC5B,CACD;AAAA,EAAA,CACF;AAAA,CACF,GAOUQ,IAAa,CACxBT,GACAC,KAAiC,CAAAC,WAAAC,EAAA,MAAA,gBAAAD,EAAsB,aAC1B;AACvB,QAAAQ,IAAeC,EAAc,IAAI,GAKjCN,IAAU,CAACC,MACX,OAAO,KAAKA,EAAK,IAAI,EAAE,SAASN,CAAO,IAClCM,EAAK,KAAKN,CAAO,IAEpBM,EAAK,SAAeD,EAAQC,EAAK,MAAM,IAC/B;AAIhB,SAAIL,IACWS,EAAA,QAAQL,EAAQJ,EAAM,CAAC,IAEpC,QAAQ,MAAM,YAAY,GAGrBS;AACT;"}