diff --git a/packages/mixins/popup/index.js b/packages/mixins/popup/index.js
index d042014c0..f5588c68a 100644
--- a/packages/mixins/popup/index.js
+++ b/packages/mixins/popup/index.js
@@ -140,18 +140,22 @@ export default {
move() {
let container;
-
const { getContainer } = this;
+
if (getContainer) {
- container =
- typeof getContainer === 'string'
- ? document.querySelector(getContainer)
- : getContainer();
+ if (typeof getContainer === 'string') {
+ container =
+ getContainer === 'body'
+ ? document.body
+ : document.querySelector(getContainer);
+ } else {
+ container = getContainer();
+ }
} else if (this.$parent) {
container = this.$parent.$el;
}
- if (container) {
+ if (container && container !== this.$el.parentNode) {
container.appendChild(this.$el);
}
},
diff --git a/packages/toast/en-US.md b/packages/toast/en-US.md
index cea5ad911..01cc3ebfe 100644
--- a/packages/toast/en-US.md
+++ b/packages/toast/en-US.md
@@ -106,3 +106,4 @@ toast2.clear();
| loadingType | Loading icon type, can be set to `spinner` | `String` | `circular` |
| duration | Toast duration(ms), won't disappear if value is 0 | `Number` | `3000` |
| className | Custom className | `String | Array | Object` | - |
+| get-container | Return the mount node for Popup | `String | () => HTMLElement` | `body` |
diff --git a/packages/toast/index.js b/packages/toast/index.js
index e725dab9c..9500929cd 100644
--- a/packages/toast/index.js
+++ b/packages/toast/index.js
@@ -5,14 +5,15 @@ import { isObj, isServer } from '../utils';
const defaultOptions = {
type: 'text',
mask: false,
- message: '',
value: true,
- duration: 3000,
+ message: '',
className: '',
+ duration: 3000,
position: 'middle',
- loadingType: 'circular',
forbidClick: false,
- overlayStyle: {}
+ loadingType: 'circular',
+ getContainer: 'body',
+ overlayStyle: null
};
const parseOptions = message => (isObj(message) ? message : { message });
diff --git a/packages/toast/zh-CN.md b/packages/toast/zh-CN.md
index 31e88391f..2aa942b6a 100644
--- a/packages/toast/zh-CN.md
+++ b/packages/toast/zh-CN.md
@@ -95,7 +95,7 @@ toast2.clear();
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|------|------|------|------|------|
-| type | 提示类型,可选值为 `loading` `success` `fail` `html` | `String` | `text` | - |
+| type | 提示类型,可选值为 `loading` `success`
`fail` `html` | `String` | `text` | - |
| position | 位置,可选值为 `top` `middle` `bottom` | `String` | `middle` | - |
| message | 内容 | `String` | `''` | - | - |
| mask | 是否显示背景蒙层 | `Boolean` | `false` | - |
@@ -103,3 +103,4 @@ toast2.clear();
| loadingType | 加载图标类型, 可选值为 `spinner` | `String` | `circular` | 1.1.3 |
| duration | 展示时长(ms),值为 0 时,toast 不会消失 | `Number` | `3000` | - |
| className | 自定义类名 | `String | Array | Object` | - | 1.6.0 |
+| getContainer | 指定挂载的节点,可以传入选择器,
或一个返回节点的函数 | `String | () => HTMLElement` | `body` | 1.6.3 |