Commit e8e1677b47576ae728ff0d77a8e3d229f2fb7624
1 parent
9b2034a5
Message & Notice support SSR
Showing
3 changed files
with
46 additions
and
19 deletions
Show diff stats
build/webpack.dev.config.js
@@ -27,7 +27,8 @@ module.exports = merge(webpackBaseConfig, { | @@ -27,7 +27,8 @@ module.exports = merge(webpackBaseConfig, { | ||
27 | resolve: { | 27 | resolve: { |
28 | alias: { | 28 | alias: { |
29 | iview: '../../src/index', | 29 | iview: '../../src/index', |
30 | - vue: 'vue/dist/vue.js' | 30 | + // vue: 'vue/dist/vue.js' |
31 | + vue: 'vue/dist/vue.runtime.js' | ||
31 | } | 32 | } |
32 | }, | 33 | }, |
33 | plugins: [ | 34 | plugins: [ |
examples/routers/notice.vue
1 | <template> | 1 | <template> |
2 | - <i-button type="primary" @click.native="time">打开提醒</i-button> | 2 | + <div> |
3 | + <p>带描述信息</p> | ||
4 | + <Button @click="info(false)">消息</Button> | ||
5 | + <Button @click="success(false)">成功</Button> | ||
6 | + <Button @click="warning(false)">警告</Button> | ||
7 | + <Button @click="error(false)">错误</Button> | ||
8 | + <p>仅标题</p> | ||
9 | + <Button @click="info(true)">消息</Button> | ||
10 | + <Button @click="success(true)">成功</Button> | ||
11 | + <Button @click="warning(true)">警告</Button> | ||
12 | + <Button @click="error(true)">错误</Button> | ||
13 | + </div> | ||
3 | </template> | 14 | </template> |
4 | <script> | 15 | <script> |
5 | export default { | 16 | export default { |
6 | methods: { | 17 | methods: { |
7 | - time () { | ||
8 | - this.$Notice.open({ | 18 | + info (nodesc) { |
19 | + this.$Notice.info({ | ||
9 | title: '这是通知标题', | 20 | title: '这是通知标题', |
10 | - desc: '这条通知不会自动关闭,需要点击关闭按钮才可以关闭。' | 21 | + desc: nodesc ? '' : '这里是通知描述这里,是通知描述这里是通知描述这里,是通知描述这里,是通知描述这里是通知描述这里是通知描述' |
22 | + }); | ||
23 | + }, | ||
24 | + success (nodesc) { | ||
25 | + this.$Notice.success({ | ||
26 | + title: '这是通知标题', | ||
27 | + desc: nodesc ? '' : '这里是通知描述这里,是通知描述这里是通知描述这里,是通知描述这里,是通知描述这里是通知描述这里是通知描述' | ||
28 | + }); | ||
29 | + }, | ||
30 | + warning (nodesc) { | ||
31 | + this.$Notice.warning({ | ||
32 | + title: '这是通知标题', | ||
33 | + desc: nodesc ? '' : '这里是通知描述这里,是通知描述这里是通知描述这里,是通知描述这里,是通知描述这里是通知描述这里是通知描述' | ||
34 | + }); | ||
35 | + }, | ||
36 | + error (nodesc) { | ||
37 | + this.$Notice.error({ | ||
38 | + title: '这是通知标题', | ||
39 | + desc: nodesc ? '' : '这里是通知描述这里,是通知描述这里是通知描述这里,是通知描述这里,是通知描述这里是通知描述这里是通知描述' | ||
11 | }); | 40 | }); |
12 | } | 41 | } |
13 | - }, | ||
14 | - mounted () { | ||
15 | - this.$Notice.config({ | ||
16 | - top: 150, | ||
17 | - duration: 30 | ||
18 | - }); | ||
19 | } | 42 | } |
20 | } | 43 | } |
21 | </script> | 44 | </script> |
src/components/base/notification/index.js
@@ -10,15 +10,18 @@ Notification.newInstance = properties => { | @@ -10,15 +10,18 @@ Notification.newInstance = properties => { | ||
10 | props += ' :' + camelcaseToHyphen(prop) + '=' + prop; | 10 | props += ' :' + camelcaseToHyphen(prop) + '=' + prop; |
11 | }); | 11 | }); |
12 | 12 | ||
13 | - const div = document.createElement('div'); | ||
14 | - div.innerHTML = `<notification${props}></notification>`; | ||
15 | - document.body.appendChild(div); | ||
16 | - | ||
17 | - const notification = new Vue({ | ||
18 | - el: div, | 13 | + const Instance = new Vue({ |
19 | data: _props, | 14 | data: _props, |
20 | - components: { Notification } | ||
21 | - }).$children[0]; | 15 | + render (h) { |
16 | + return h(Notification, { | ||
17 | + props: _props | ||
18 | + }) | ||
19 | + } | ||
20 | + }); | ||
21 | + | ||
22 | + const component = Instance.$mount(); | ||
23 | + document.body.appendChild(component.$el); | ||
24 | + const notification = Instance.$children[0]; | ||
22 | 25 | ||
23 | return { | 26 | return { |
24 | notice (noticeProps) { | 27 | notice (noticeProps) { |