song-ui-u
Version:
vue3 + js的PC前端组件库
1 lines • 2.17 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../packages/hook/use-parent/index.js"],"sourcesContent":["import { getCurrentInstance } from \"vue\"\n// 默认命名前缀\nimport { defaultNamespace } from \"../config\"\n\nexport const useParent = (parentName) => {\n // 获取父级\n const parent = getCurrentInstance().parent\n // 获取父级组件\n const group = () => {\n return parent.proxy.$options.name === `${defaultNamespace}-${parentName}`\n }\n // 获取父组件\n const getParent = (data) => {\n // 父组件\n let parentComponent = null\n // deep parent component\n const getComponent = (parent) => {\n const name = parent?.proxy?.$options?.name\n const pName = `${defaultNamespace}-${parentName}`\n if(name === pName) {\n parentComponent = parent\n return false\n }\n // 查找下一层\n parent.parent && getComponent(parent.parent)\n }\n getComponent(data)\n return parentComponent;\n }\n // 获取父级属性\n const props = (attr) => {\n const p = getParent(parent)\n return p?.props?.[attr] || false\n }\n return {\n group, props\n }\n}"],"names":["parent"],"mappings":";;;AAIa,MAAA,SAAA,GAAY,CAAC,UAAe,KAAA;AAEvC,EAAM,MAAA,MAAA,GAAS,oBAAqB,CAAA,MAAA,CAAA;AAEpC,EAAA,MAAM,QAAQ,MAAM;AAClB,IAAA,OAAO,OAAO,KAAM,CAAA,QAAA,CAAS,SAAS,CAAG,EAAA,gBAAgB,IAAI,UAAU,CAAA,CAAA,CAAA;AAAA,GACzE,CAAA;AAEA,EAAM,MAAA,SAAA,GAAY,CAAC,IAAS,KAAA;AAE1B,IAAA,IAAI,eAAkB,GAAA,IAAA,CAAA;AAEtB,IAAM,MAAA,YAAA,GAAe,CAACA,OAAW,KAAA;AAC/B,MAAM,MAAA,IAAA,GAAOA,OAAQ,EAAA,KAAA,EAAO,QAAU,EAAA,IAAA,CAAA;AACtC,MAAA,MAAM,KAAQ,GAAA,CAAA,EAAG,gBAAgB,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,CAAA;AAC/C,MAAA,IAAG,SAAS,KAAO,EAAA;AACjB,QAAkBA,eAAAA,GAAAA,OAAAA,CAAAA;AAClB,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAEA,MAAAA,OAAO,CAAA,MAAA,IAAU,YAAaA,CAAAA,OAAAA,CAAO,MAAM,CAAA,CAAA;AAAA,KAC7C,CAAA;AACA,IAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AACjB,IAAO,OAAA,eAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAM,MAAA,KAAA,GAAQ,CAAC,IAAS,KAAA;AACtB,IAAM,MAAA,CAAA,GAAI,UAAU,MAAM,CAAA,CAAA;AAC1B,IAAO,OAAA,CAAA,EAAG,KAAQ,GAAA,IAAI,CAAK,IAAA,KAAA,CAAA;AAAA,GAC7B,CAAA;AACA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IAAO,KAAA;AAAA,GACT,CAAA;AACF;;;;"}