From 0abb184056e5405c4aa5c189b2a4684f369ec90c Mon Sep 17 00:00:00 2001
From: zhuxiang <zhuxiang@qima-inc.com>
Date: Wed, 1 Mar 2017 14:28:10 +0800
Subject: [PATCH] done

---
 docs/examples-docs/badge.md        | 27 ++++++++++++++++++------
 packages/badge/mixin/emitter.js    | 34 ------------------------------
 packages/badge/src/badge-group.vue |  9 +++++++-
 packages/badge/src/badge.vue       | 12 +++--------
 4 files changed, 32 insertions(+), 50 deletions(-)
 delete mode 100644 packages/badge/mixin/emitter.js

diff --git a/docs/examples-docs/badge.md b/docs/examples-docs/badge.md
index fee5fda1e..e08f6d46b 100644
--- a/docs/examples-docs/badge.md
+++ b/docs/examples-docs/badge.md
@@ -4,11 +4,26 @@
 
 :::demo 样例代码
 ```html
-<z-badge-group>
-  <z-badge badge-key="0" title="热销榜" info="8"></z-badge>
-  <z-badge badge-key="1" title="花式寿司" info="99"></z-badge>
-  <z-badge badge-key="2" title="火炽寿司"></z-badge>
-  <z-badge badge-key="3" title="手握寿司" info="199"></z-badge>
+<z-badge-group active-key="2">
+  <z-badge mark="0" title="热销榜" info="8" url="http://baidu.com"></z-badge>
+  <z-badge mark="1" title="花式寿司" info="99"></z-badge>
+  <z-badge mark="2" title="火炽寿司"></z-badge>
+  <z-badge mark="3" title="手握寿司" info="199"></z-badge>
 </z-badge-group>
 ```
-:::
\ No newline at end of file
+:::
+
+### z-badge-group API
+
+| 参数       | 说明      | 类型       | 默认值       | 必须型       |
+|-----------|-----------|-----------|-------------|-------------|
+| active-key | 激活的badge的索引 | string  | '0'但必须子badge里的mark是有0位索引 |           |
+
+
+### z-badge API
+| 参数       | 说明      | 类型       | 默认值       | 可选值       |
+|-----------|-----------|-----------|-------------|-------------|
+| mark | badge的唯一key值 | string  | ''          | required         |
+| title | badge的文案标题 | string  | ''          | required          |
+| info | 当前badge的提示消息数量 | string  | ''          |           |
+| url | 跳转链接 | string  | 全连接直接跳转或者hash          |           |
diff --git a/packages/badge/mixin/emitter.js b/packages/badge/mixin/emitter.js
deleted file mode 100644
index 2e25c831f..000000000
--- a/packages/badge/mixin/emitter.js
+++ /dev/null
@@ -1,34 +0,0 @@
-function broadcast(componentName, eventName, ...params) {
-  this.$children.forEach(child => {
-    var name = child.$options.componentName;
-
-    if (name === componentName) {
-      child.$emit.apply(child, [eventName].concat(params));
-    } else {
-      broadcast.apply(child, [componentName, eventName].concat(params));
-    }
-  });
-}
-export default {
-  methods: {
-    $dispatch(componentName, eventName, ...params) {
-
-      var parent = this.$parent || this.$root;
-      var name = parent.$options.componentName;
-
-      while (parent && (!name || name !== componentName)) {
-        parent = parent.$parent;
-
-        if (parent) {
-          name = parent.$options.componentName;
-        }
-      }
-      if (parent) {
-        parent.$emit.apply(parent, [eventName].concat(params));
-      }
-    },
-    $broadcast(componentName, eventName, ...params) {
-      broadcast.call(this, componentName, eventName, ...params);
-    }
-  }
-};
diff --git a/packages/badge/src/badge-group.vue b/packages/badge/src/badge-group.vue
index 231a60f9c..1339100fb 100644
--- a/packages/badge/src/badge-group.vue
+++ b/packages/badge/src/badge-group.vue
@@ -7,9 +7,16 @@
 <script>
 export default {
   name: 'z-badge-group',
+  props: {
+    // 当前激活 tab 面板的 key
+    activeKey: {
+      type: [Number, String],
+      default: 0
+    }
+  },
   data () {
     return {
-      activeKey: '0'
+      computedActiveKey: this.activeKey
     }
   }
 };
diff --git a/packages/badge/src/badge.vue b/packages/badge/src/badge.vue
index a21163aff..780652bc2 100644
--- a/packages/badge/src/badge.vue
+++ b/packages/badge/src/badge.vue
@@ -9,7 +9,7 @@
 export default {
   name: 'z-badge',
   props: {
-    badgeKey: {
+    mark: {
       type: [Number, String],
       required: true
     },
@@ -18,23 +18,17 @@ export default {
       required: true
     },
     url: String,
-    value: String,
     info: String
   },
-  data () {
-    return {
-      isSelected: false
-    }
-  },
   methods: {
     handleClick() {
-      this.$parent.activeKey = this.badgeKey;
+      this.$parent.computedActiveKey = this.mark;
     }
   },
   computed: {
     classNames () {
       return {
-        'is-select': this.badgeKey == this.$parent.activeKey ? true : false
+        'is-select': this.mark == this.$parent.computedActiveKey ? true : false
       }
     }
   }