From c0005d06e538782aad901b337c9d3c4f5235f1cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E6=A3=AE?= <chensen@youzan.com>
Date: Sun, 10 May 2020 16:37:16 +0800
Subject: [PATCH] feat(NavBar): support custom-style

---
 packages/nav-bar/index.ts   | 6 ++++++
 packages/nav-bar/index.wxml | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/packages/nav-bar/index.ts b/packages/nav-bar/index.ts
index 82225680..3386e2f2 100644
--- a/packages/nav-bar/index.ts
+++ b/packages/nav-bar/index.ts
@@ -15,6 +15,7 @@ VantComponent({
     },
     leftText: String,
     rightText: String,
+    customStyle: String,
     leftArrow: Boolean,
     border: {
       type: Boolean,
@@ -33,13 +34,18 @@ VantComponent({
   data: {
     statusBarHeight: 0,
     height: 44,
+    baseStyle: '',
   },
 
   created() {
     const { statusBarHeight } = wx.getSystemInfoSync();
+    const { safeAreaInsetTop, zIndex } = this.data;
+    const paddingTop = safeAreaInsetTop ? statusBarHeight : 0;
+    const baseStyle = `z-index: ${zIndex};padding-top: ${paddingTop}px;`;
     this.setData({
       statusBarHeight,
       height: 44 + statusBarHeight,
+      baseStyle
     });
   },
 
diff --git a/packages/nav-bar/index.wxml b/packages/nav-bar/index.wxml
index 9bc58bcb..941bf563 100644
--- a/packages/nav-bar/index.wxml
+++ b/packages/nav-bar/index.wxml
@@ -4,7 +4,7 @@
 
 <view
   class="{{ utils.bem('nav-bar', { fixed }) }} custom-class {{ border ? 'van-hairline--bottom' : '' }}"
-  style="z-index: {{ zIndex }}; padding-top: {{ safeAreaInsetTop ? statusBarHeight : 0 }}px;"
+  style="{{ baseStyle }} {{ customStyle }}"
 >
   <view class="van-nav-bar__left" bind:tap="onClickLeft">
     <block wx:if="{{ leftArrow || leftText }}">