From 92230c9a97dc9ce9df3313d11d26999c04bb6b26 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 15 七月 2025 13:12:48 +0800 Subject: [PATCH] 项目初始化 --- src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue | 121 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 0 deletions(-) diff --git a/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue b/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue new file mode 100644 index 0000000..b9edbd6 --- /dev/null +++ b/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue @@ -0,0 +1,121 @@ +<template> + <view class="uni-breadcrumb-item"> + <view :class="{ + 'uni-breadcrumb-item--slot': true, + 'uni-breadcrumb-item--slot-link': to && currentPage !== to + }" @click="navTo"> + <slot /> + </view> + <i v-if="separatorClass" class="uni-breadcrumb-item--separator" :class="separatorClass" /> + <text v-else class="uni-breadcrumb-item--separator">{{ separator }}</text> + </view> +</template> +<script> + /** + * BreadcrumbItem 闈㈠寘灞戝鑸瓙缁勪欢 + * @property {String/Object} to 璺敱璺宠浆椤甸潰璺緞/瀵硅薄 + * @property {Boolean} replace 鍦ㄤ娇鐢� to 杩涜璺敱璺宠浆鏃讹紝鍚敤 replace 灏嗕笉浼氬悜 history 娣诲姞鏂拌褰�(浠� h5 鏀寔锛� + */ + export default { + data() { + return { + currentPage: "" + } + }, + options: { + virtualHost: true + }, + props: { + to: { + type: String, + default: '' + }, + replace:{ + type: Boolean, + default: false + } + }, + inject: { + uniBreadcrumb: { + from: "uniBreadcrumb", + default: null + } + }, + created(){ + const pages = getCurrentPages() + const page = pages[pages.length-1] + + if(page){ + this.currentPage = `/${page.route}` + } + }, + computed: { + separator() { + return this.uniBreadcrumb.separator + }, + separatorClass() { + return this.uniBreadcrumb.separatorClass + } + }, + methods: { + navTo() { + const { to } = this + + if (!to || this.currentPage === to){ + return + } + + if(this.replace){ + uni.redirectTo({ + url:to + }) + }else{ + uni.navigateTo({ + url:to + }) + } + } + } + } +</script> +<style lang="scss"> + $uni-primary: #2979ff !default; + $uni-base-color: #6a6a6a !default; + $uni-main-color: #3a3a3a !default; + .uni-breadcrumb-item { + display: flex; + align-items: center; + white-space: nowrap; + font-size: 14px; + + &--slot { + color: $uni-base-color; + padding: 0 10px; + + &-link { + color: $uni-main-color; + font-weight: bold; + /* #ifndef APP-NVUE */ + cursor: pointer; + /* #endif */ + + &:hover { + color: $uni-primary; + } + } + } + + &--separator { + font-size: 12px; + color: $uni-base-color; + } + + &:first-child &--slot { + padding-left: 0; + } + + &:last-child &--separator { + display: none; + } + } +</style> -- Gitblit v1.9.3