Skip to content

Commit 19e999a

Browse files
authored
feat: update result (#2362)
* feat: update result * fix: upate * fix: default
1 parent 4dc73e9 commit 19e999a

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

components/result/index.jsx

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import { inject } from 'vue';
12
import PropTypes from '../_util/vue-types';
2-
import { getComponentFromProp } from '../_util/props-util';
3+
import { getComponent } from '../_util/props-util';
34
import { ConfigConsumerProps } from '../config-provider';
45
import CheckCircleFilled from '@ant-design/icons-vue/CheckCircleFilled';
56
import CloseCircleFilled from '@ant-design/icons-vue/CloseCircleFilled';
67
import ExclamationCircleFilled from '@ant-design/icons-vue/ExclamationCircleFilled';
78
import WarningFilled from '@ant-design/icons-vue/WarningFilled';
8-
import Base from '../base';
99
import noFound from './noFound';
1010
import serverError from './serverError';
1111
import unauthorized from './unauthorized';
@@ -55,25 +55,27 @@ const renderExtra = (h, prefixCls, extra) =>
5555
const Result = {
5656
name: 'AResult',
5757
props: ResultProps,
58-
inject: {
59-
configProvider: { default: () => ConfigConsumerProps },
58+
setup() {
59+
return {
60+
configProvider: inject('configProvider', ConfigConsumerProps),
61+
};
6062
},
6163
render(h) {
6264
const { prefixCls: customizePrefixCls, status } = this;
6365
const getPrefixCls = this.configProvider.getPrefixCls;
6466
const prefixCls = getPrefixCls('result', customizePrefixCls);
6567

66-
const title = getComponentFromProp(this, 'title');
67-
const subTitle = getComponentFromProp(this, 'subTitle');
68-
const icon = getComponentFromProp(this, 'icon');
69-
const extra = getComponentFromProp(this, 'extra');
68+
const title = getComponent(this, 'title');
69+
const subTitle = getComponent(this, 'subTitle');
70+
const icon = getComponent(this, 'icon');
71+
const extra = getComponent(this, 'extra');
7072

7173
return (
7274
<div class={`${prefixCls} ${prefixCls}-${status}`}>
7375
{renderIcon(h, prefixCls, { status, icon })}
7476
<div class={`${prefixCls}-title`}>{title}</div>
7577
{subTitle && <div class={`${prefixCls}-subtitle`}>{subTitle}</div>}
76-
{this.$slots.default && <div class={`${prefixCls}-content`}>{this.$slots.default}</div>}
78+
{this.$slots.default && <div class={`${prefixCls}-content`}>{this.$slots.default()}</div>}
7779
{renderExtra(h, prefixCls, extra)}
7880
</div>
7981
);
@@ -86,8 +88,7 @@ Result.PRESENTED_IMAGE_404 = ExceptionMap[404];
8688
Result.PRESENTED_IMAGE_500 = ExceptionMap[500];
8789

8890
/* istanbul ignore next */
89-
Result.install = function(Vue) {
90-
Vue.use(Base);
91-
Vue.component(Result.name, Result);
91+
Result.install = function(app) {
92+
app.component(Result.name, Result);
9293
};
9394
export default Result;

examples/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import Affix from 'ant-design-vue/affix';
77
import Alert from 'ant-design-vue/alert';
88
import Divider from 'ant-design-vue/divider';
99
import ConfigProvider from 'ant-design-vue/config-provider';
10-
import Spin from 'ant-design-vue/Spin';
10+
import Result from 'ant-design-vue/result';
11+
import Spin from 'ant-design-vue/spin';
1112
import Empty from 'ant-design-vue/empty';
1213
import 'ant-design-vue/style.js';
1314

@@ -18,6 +19,7 @@ createApp(App)
1819
.use(Affix)
1920
.use(Alert)
2021
.use(Divider)
22+
.use(Result)
2123
.use(Spin)
2224
.use(Empty)
2325
.mount('#app');

0 commit comments

Comments
 (0)