From fe114d0f8524ee7ce817d17a48ac69758bac8b3d Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Fri, 18 Aug 2023 15:48:26 +0800
Subject: [PATCH] 重写筛选组件单选控件

---
 layout/h5Page/CNavBar.vue |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/layout/h5Page/CNavBar.vue b/layout/h5Page/CNavBar.vue
index b037ade..4bd2986 100644
--- a/layout/h5Page/CNavBar.vue
+++ b/layout/h5Page/CNavBar.vue
@@ -2,11 +2,17 @@
     <view class="c-nav-bar">
         <AtNavBar
             :title="title"
-            leftIconType="chevron-left"
-            :onClickLeftIcon="evt=>onGoBack()"
+            :leftIconType="iconType"
+            :onClickLeftIcon="evt => onGoBack()"
             :rightFirstIconType="dropNav ? 'bullet-list' : ''"
-            :onClickRgIconSt="evt=>onDropMenu()"
+            :onClickRgIconSt="evt => onDropMenu()"
         />
+        <view
+            class="c-nav-bar-right"
+            v-if="!dropNav"
+        >
+            <slot />
+        </view>
         <view
             class="c-nav-bar-drop"
             v-show="dropShow"
@@ -37,7 +43,16 @@
         AtNavBar,
     },
     props: {
+        // H5页面导航标题
         title: String,
+        // H5页面导航左侧图标
+        iconType: {
+            type: String,
+            default: 'chevron-left',
+        },
+        // H5页面导航左侧图点击事件
+        onClickIcon: Function,
+        // H5页面导航右侧下拉菜单配置
         dropNav: Array,
     },
     data() {
@@ -49,7 +64,15 @@
     },
     methods: {
         onGoBack() {
-            Taro.navigateBack();
+            if (this.onClickIcon) {
+                const needBack = this.onClickIcon();
+                // 返回 true 时继续跳回上一页
+                if (needBack) {
+                    Taro.navigateBack();
+                }
+            } else {
+                Taro.navigateBack();
+            }
         },
         onGoNav(nav) {
             if (!nav.url) {

--
Gitblit v1.9.1