UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

1 lines 4.48 kB
{"version":3,"file":"breadcrumb-item.mjs","sources":["../../../../../packages/components/breadcrumble/src/breadcrumb-item.jsx"],"sourcesContent":["// BreadcrumbItem.jsx(子项组件)\r\nimport { defineComponent, inject } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport * as icons from \"song-ui-pro-icon\";\r\nimport { XIcon } from \"@ui-library/components\";\r\nimport { useNamespace } from \"@ui-library/hook\";\r\n\r\n// 改名为 BreadcrumbItem\r\nexport default defineComponent({\r\n name: \"x-breadcrumb-item\", // 修改组件名\r\n props: {\r\n to: [String, Object], // 跳转路径\r\n replace: Boolean, // 是否替换历史记录\r\n },\r\n setup(props, { slots }) {\r\n const router = useRouter();\r\n const breadcrumbCtx = inject(\"breadcrumb\");\r\n\r\n const ns = useNamespace(\"breadcrumb-item\");\r\n\r\n const renderIcons = () => {\r\n if (breadcrumbCtx.props.separatorIcon) {\r\n return icons[breadcrumbCtx.props?.separatorIcon].render();\r\n }\r\n };\r\n\r\n // 处理点击跳转[8](@ref)\r\n const handleClick = () => {\r\n if (!props.to) return;\r\n props.replace ? router.replace(props.to) : router.push(props.to);\r\n };\r\n\r\n return () => {\r\n const isLink = !!props.to;\r\n const separator = breadcrumbCtx.props.separatorIcon ? (\r\n <span class={ns.e(\"separator-icon\")}>\r\n <XIcon>{renderIcons()}</XIcon>\r\n </span>\r\n ) : (\r\n <span class={ns.e(\"separator\")}>{breadcrumbCtx.props.separator}</span>\r\n );\r\n\r\n return (\r\n <div\r\n // class=\"j-breadcrumb-item\"\r\n class={[ns.b()]}\r\n >\r\n {isLink ? (\r\n <a class={[ns.e(\"link\")]} onClick={handleClick}>\r\n {slots.default?.()}\r\n </a>\r\n ) : (\r\n <span class={ns.e(\"text\")}>{slots.default?.()}</span>\r\n )}\r\n {separator}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","to","String","replace","Boolean","setup","slots","router","useRouter","breadcrumbCtx","inject","ns","useNamespace","renderIcons","separatorIcon","icons","render","handleClick","push","_slot","isLink","separator","_createVNode","e","XIcon","default","b"],"mappings":"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"}