diff --git a/components/button/button.jsx b/components/button/button.jsx
index e92b66cda2..416cf93338 100644
--- a/components/button/button.jsx
+++ b/components/button/button.jsx
@@ -152,7 +152,7 @@ export default {
},
};
const iconType = sLoading ? 'loading' : icon;
- const iconNode = iconType ? : null;
+ const iconNode = iconType ? : $slots.icon;
const children = filterEmpty($slots.default);
const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;
const kids = children.map(child =>