diff --git a/src/button/index.tsx b/src/button/index.tsx index 7d430d0ae..22fde2884 100644 --- a/src/button/index.tsx +++ b/src/button/index.tsx @@ -57,16 +57,22 @@ function Button( loadingText } = props; - const style: Record = {}; + const style: Record = {}; if (color) { - style.borderColor = color; style.color = plain ? color : WHITE; if (!plain) { // Use background instead of backgroundColor to make linear-gradient work style.background = color; } + + // hide border when color is linear-gradient + if (color.indexOf('gradient') !== -1) { + style.border = 0; + } else { + style.borderColor = color; + } } function onClick(event: Event) { diff --git a/src/button/test/__snapshots__/demo.spec.js.snap b/src/button/test/__snapshots__/demo.spec.js.snap index 4a14d2b39..f2f35cbee 100644 --- a/src/button/test/__snapshots__/demo.spec.js.snap +++ b/src/button/test/__snapshots__/demo.spec.js.snap @@ -32,6 +32,6 @@ exports[`renders demo correctly 1`] = ` 迷你按钮
-
+
`; diff --git a/src/button/test/index.spec.js b/src/button/test/index.spec.js index 143e46473..65ed46b18 100644 --- a/src/button/test/index.spec.js +++ b/src/button/test/index.spec.js @@ -72,3 +72,13 @@ test('touchstart event', () => { wrapper.trigger('touchstart'); expect(onTouchstart).toHaveBeenCalled(); }); + +test('hide border when color is gradient', () => { + const wrapper = mount(Button, { + propsData: { + color: 'linear-gradient(#000, #fff)' + } + }); + + expect(wrapper.element.style.border).toEqual('0px'); +}); diff --git a/src/goods-action/test/__snapshots__/demo.spec.js.snap b/src/goods-action/test/__snapshots__/demo.spec.js.snap index f89a54791..92b7adf09 100644 --- a/src/goods-action/test/__snapshots__/demo.spec.js.snap +++ b/src/goods-action/test/__snapshots__/demo.spec.js.snap @@ -46,7 +46,7 @@ exports[`renders demo correctly 1`] = `
购物车 - +