From 77f8e724b52baa1310c0f875418ebd43422d911f Mon Sep 17 00:00:00 2001 From: Yao Date: Thu, 26 Apr 2018 23:30:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=A2=9E=E5=8A=A0=20group=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=20(#202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/pages/btn/index.json | 5 ++- example/pages/btn/index.wxml | 64 +++++++++++++++----------------- example/pages/dialog/index.json | 3 +- example/pages/dialog/index.wxml | 29 +-------------- example/pages/popup/index.json | 3 +- example/pages/popup/index.wxml | 4 +- example/pages/toast/index.json | 1 + example/pages/toast/index.wxml | 4 +- example/pages/toptips/index.wxml | 6 +-- packages/btn-group/index.js | 28 ++++++++++++++ packages/btn-group/index.json | 3 ++ packages/btn-group/index.wxml | 3 ++ packages/btn-group/index.wxss | 3 ++ packages/btn/index.js | 21 +++++++++++ packages/btn/index.pcss | 34 ++++++++++++----- packages/btn/index.wxml | 2 +- 16 files changed, 131 insertions(+), 82 deletions(-) create mode 100644 packages/btn-group/index.js create mode 100644 packages/btn-group/index.json create mode 100644 packages/btn-group/index.wxml create mode 100644 packages/btn-group/index.wxss diff --git a/example/pages/btn/index.json b/example/pages/btn/index.json index 30791fdc..eb9e7d48 100644 --- a/example/pages/btn/index.json +++ b/example/pages/btn/index.json @@ -1,6 +1,9 @@ { "navigationBarTitleText": "Button 按钮", "usingComponents": { - "zan-button": "/dist/btn/index" + "zan-button": "../../dist/btn/index", + "zan-button-group": "../../dist/btn-group/index", + "zan-panel": "../../dist/panel/index", + "doc-page": "../../components/doc-page/index" } } diff --git a/example/pages/btn/index.wxml b/example/pages/btn/index.wxml index b4e65e14..b4032d5c 100644 --- a/example/pages/btn/index.wxml +++ b/example/pages/btn/index.wxml @@ -1,56 +1,52 @@ - + - BUTTON - - 普通按钮 - - + + 取消订单 确认付款 确认付款 确认付款 - - + + - 大号按钮,没有边框线及圆角 - + 确认付款 立即购买 立即购买 - + - 小号按钮 - - 取消订单 - 确认付款 - + + + 取消订单 + 确认付款 + + - 迷你按钮 - - 取消订单 - 确认付款 - 确认付款 - 确认付款 - + + + 取消订单 + 确认付款 + 确认付款 + 确认付款 + + - Loading - - + + 取消订单 确认付款 确认付款 确认付款 - - + + - Disabled - - + + 取消订单 确认付款 确认付款 确认付款 - - + + - + diff --git a/example/pages/dialog/index.json b/example/pages/dialog/index.json index 6df5df6c..d954d661 100644 --- a/example/pages/dialog/index.json +++ b/example/pages/dialog/index.json @@ -3,6 +3,7 @@ "usingComponents": { "doc-page": "../../components/doc-page/index", "zan-dialog": "../../dist/dialog/index", - "zan-button": "../../dist/btn/index" + "zan-button": "../../dist/btn/index", + "zan-button-group": "../../dist/btn-group/index" } } diff --git a/example/pages/dialog/index.wxml b/example/pages/dialog/index.wxml index 41a48074..1a18e75b 100644 --- a/example/pages/dialog/index.wxml +++ b/example/pages/dialog/index.wxml @@ -1,38 +1,13 @@ - + 基础 Dialog Dialog - 无标题 Dialog - 自定义显示按钮 Dialog - 按钮纵向排布 - + - - diff --git a/example/pages/popup/index.json b/example/pages/popup/index.json index 5a6d5b1a..e2ae2c0e 100644 --- a/example/pages/popup/index.json +++ b/example/pages/popup/index.json @@ -3,7 +3,8 @@ "usingComponents": { "doc-page": "../../components/doc-page/index", "zan-popup": "../../dist/popup/index", - "zan-button": "../../dist/btn/index" + "zan-button": "../../dist/btn/index", + "zan-button-group": "../../dist/btn-group/index" } } diff --git a/example/pages/popup/index.wxml b/example/pages/popup/index.wxml index 433dbd88..c9994d17 100644 --- a/example/pages/popup/index.wxml +++ b/example/pages/popup/index.wxml @@ -1,5 +1,5 @@ - + 弹出popup @@ -15,7 +15,7 @@ 从右边弹出popup - + TOAST - + 显示toast @@ -28,7 +28,7 @@ 显示 Loading - + diff --git a/example/pages/toptips/index.wxml b/example/pages/toptips/index.wxml index 05fa6b38..3ed074f9 100644 --- a/example/pages/toptips/index.wxml +++ b/example/pages/toptips/index.wxml @@ -1,17 +1,17 @@ - + 显示toptips,声明式调用 - + 显示toptips,命令式调用 - + 显示toptips,持续一秒 diff --git a/packages/btn-group/index.js b/packages/btn-group/index.js new file mode 100644 index 00000000..3497ac16 --- /dev/null +++ b/packages/btn-group/index.js @@ -0,0 +1,28 @@ +Component({ + relations: { + '../btn/index': { + type: 'child', + linked () { + updateBtnChild.call(this); + }, + linkChange() { + updateBtnChild.call(this); + }, + unlinked() { + updateBtnChild.call(this); + } + } + } +}); + +function updateBtnChild() { + let btns = this.getRelationNodes('../btn/index') + + if (btns.length > 0) { + let lastIndex = btns.length - 1 + + btns.forEach((btn, index) => { + btn.switchLastButtonStatus(index === lastIndex); + }); + } +} diff --git a/packages/btn-group/index.json b/packages/btn-group/index.json new file mode 100644 index 00000000..467ce294 --- /dev/null +++ b/packages/btn-group/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/packages/btn-group/index.wxml b/packages/btn-group/index.wxml new file mode 100644 index 00000000..aa76fe4d --- /dev/null +++ b/packages/btn-group/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/packages/btn-group/index.wxss b/packages/btn-group/index.wxss new file mode 100644 index 00000000..88223f09 --- /dev/null +++ b/packages/btn-group/index.wxss @@ -0,0 +1,3 @@ +.btn-group { + margin: 15px; +} diff --git a/packages/btn/index.js b/packages/btn/index.js index 8795e4ee..257012e8 100644 --- a/packages/btn/index.js +++ b/packages/btn/index.js @@ -1,6 +1,17 @@ Component({ externalClasses: ['custom-class'], + relations: { + '../btn-group/index': { + type: 'parent', + linked() { + this.setData({ inGroup: true }); + }, + unlinked() { + this.setData({ inGroup: false }); + } + } + }, properties: { type: { type: String, @@ -27,9 +38,19 @@ Component({ value: '' } }, + + data: { + inGroup: false, + isLast: false + }, + methods: { handleTap() { this.triggerEvent('btnclick'); + }, + + switchLastButtonStatus(isLast = false) { + this.setData({ isLast }); } } }); \ No newline at end of file diff --git a/packages/btn/index.pcss b/packages/btn/index.pcss index c62145c8..9f9d0099 100644 --- a/packages/btn/index.pcss +++ b/packages/btn/index.pcss @@ -4,7 +4,6 @@ position: relative; color: #333; background-color: #fff; - margin-bottom: 10px; padding-left: 15px; padding-right: 15px; border-radius: 2px; @@ -17,14 +16,16 @@ vertical-align: middle; overflow: visible; } + +.zan-btn--group { + margin-bottom: 10px; +} + .zan-btn::after { @mixin hairline; border-width: 1px; border-radius: 4px; } -.zan-btns { - margin: 15px; -} /* type */ .zan-btn--primary { @@ -60,26 +61,36 @@ height: 30px; line-height: 30px; font-size: 12px; - margin-right: 5px; - margin-bottom: 0; + /* margin-right: 5px; */ } +.zan-btn--small.zan-btn--group { + margin-bottom: 0; + margin-right: 5px; +} + .zan-btn--mini { display: inline-block; line-height: 21px; height: 22px; font-size: 10px; - margin-right: 5px; - margin-bottom: 0; + /* margin-right: 5px; */ padding-left: 5px; padding-right: 5px; } +.zan-btn--mini.zan-btn--group { + margin-bottom: 0; + margin-right: 5px; +} + .zan-btn--large { border-radius: 0; - margin-bottom: 0; border: none; line-height: 50px; height: 50px; } +.zan-btn--large.zan-btn--group { + margin-bottom: 0; +} /* plain */ .zan-btn--plain.zan-btn { @@ -151,5 +162,8 @@ } /* :last-child */ - +.zan-btn--group.zan-btn--last { + margin-bottom: 0; + margin-right: 0; +} diff --git a/packages/btn/index.wxml b/packages/btn/index.wxml index ab1e53a6..6bbd1437 100644 --- a/packages/btn/index.wxml +++ b/packages/btn/index.wxml @@ -1,5 +1,5 @@