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 } } }