various-ui
Version:
This is a test version of the Vue 3 component library
1 lines • 2.73 kB
Source Map (JSON)
{"version":3,"file":"composable.mjs","sources":["../../../../../../packages/components/radio/default/src/composable.ts"],"sourcesContent":["import { SetupContext, computed, inject } from \"vue\";\r\nimport { UiRadioGroupInjectionKey } from \"../../default-group/index\";\r\nimport { UiRadioEmits, UiRadioProps } from \"../index\";\r\n\r\nexport const useComposable = (define: UiRadioProps, emits: SetupContext<typeof UiRadioEmits>[\"emit\"]) => {\r\n //* 获取父组件注入函数\r\n const radioGroup = inject(UiRadioGroupInjectionKey, undefined);\r\n\r\n //* 计算属性\r\n const computeds = {\r\n //* 选择状态\r\n checked: computed(() => {\r\n if (radioGroup?.define.modelValue == define.value) return true;\r\n else {\r\n return define.modelValue == define.value;\r\n }\r\n }),\r\n\r\n //* 标签类名\r\n className: computed(() => {\r\n //* 1. 初始化返回值\r\n const result: string[] = [];\r\n //* 2. 检测是否被激活\r\n if (computeds.checked.value) result.push(\"ui-active\");\r\n\r\n return result.join(\" \");\r\n }),\r\n };\r\n\r\n //* 函数列表\r\n const methods = {\r\n switchRatio: (_ev: Event) => {\r\n //* 1. 获取Input节点\r\n const el = _ev.target as HTMLInputElement;\r\n\r\n //* 2. 响应事件操作\r\n emits(\"update:modelValue\", el.value || \"\");\r\n emits(\"change\", _ev);\r\n\r\n //* 3. 响应父组件事件\r\n radioGroup?.change(define.value);\r\n },\r\n };\r\n\r\n return { computeds, methods };\r\n};\r\n"],"names":[],"mappings":";;;AAIa,MAAA,aAAA,GAAgB,CAAC,MAAA,EAAsB,KAAqD,KAAA;AAErG,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,wBAAA,EAA0B,KAAS,CAAA,CAAA,CAAA;AAG7D,EAAA,MAAM,SAAY,GAAA;AAAA;AAAA,IAEd,OAAA,EAAS,SAAS,MAAM;AACpB,MAAA,IAAA,CAAI,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,MAAA,CAAO,UAAc,KAAA,MAAA,CAAO,OAAc,OAAA,IAAA,CAAA;AAAA,WACrD;AACD,QAAO,OAAA,MAAA,CAAO,cAAc,MAAO,CAAA,KAAA,CAAA;AAAA,OACvC;AAAA,KACH,CAAA;AAAA;AAAA,IAGD,SAAA,EAAW,SAAS,MAAM;AAEtB,MAAA,MAAM,SAAmB,EAAC,CAAA;AAE1B,MAAA,IAAI,SAAU,CAAA,OAAA,CAAQ,KAAO,EAAA,MAAA,CAAO,KAAK,WAAW,CAAA,CAAA;AAEpD,MAAO,OAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAAA,KACzB,CAAA;AAAA,GACL,CAAA;AAGA,EAAA,MAAM,OAAU,GAAA;AAAA,IACZ,WAAA,EAAa,CAAC,GAAe,KAAA;AAEzB,MAAA,MAAM,KAAK,GAAI,CAAA,MAAA,CAAA;AAGf,MAAM,KAAA,CAAA,mBAAA,EAAqB,EAAG,CAAA,KAAA,IAAS,EAAE,CAAA,CAAA;AACzC,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AAGnB,MAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,OAAO,MAAO,CAAA,KAAA,CAAA,CAAA;AAAA,KAC9B;AAAA,GACJ,CAAA;AAEA,EAAO,OAAA,EAAE,WAAW,OAAQ,EAAA,CAAA;AAChC;;;;"}