Skip to content

Commit 24e036d

Browse files
committed
refactor: Result prop change
1 parent 8b88af4 commit 24e036d

File tree

3 files changed

+33
-14
lines changed

3 files changed

+33
-14
lines changed

src/components/Result/Result.vue

+29-10
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,57 @@
11
<template>
22
<div class="result">
33
<div>
4-
<a-icon :class="{ 'icon': true, 'success': isSuccess, 'error': !isSuccess }" :type="isSuccess ? 'check-circle' : 'close-circle'"/>
4+
<a-icon :class="{ 'icon': true, [`${type}`]: true }" :type="localIsSuccess ? 'check-circle' : 'close-circle'"/>
55
</div>
6-
<div class="title" v-if="title">{{ title }}</div>
7-
<div class="description" v-if="description">{{ description }}</div>
8-
<div class="content" v-if="content">
6+
<div class="title">
7+
<slot name="title">
8+
{{ title }}
9+
</slot>
10+
</div>
11+
<div class="description">
12+
<slot name="description">
13+
{{ description }}
14+
</slot>
15+
</div>
16+
<div class="extra" v-if="$slots.default">
917
<slot></slot>
1018
</div>
11-
<div class="action">
19+
<div class="action" v-if="$slots.action">
1220
<slot name="action"></slot>
1321
</div>
1422
</div>
1523
</template>
1624

1725
<script>
26+
const resultEnum = ['success', 'error']
27+
1828
export default {
1929
name: 'Result',
2030
props: {
31+
/** @Deprecated */
2132
isSuccess: {
2233
type: Boolean,
2334
default: false
2435
},
36+
type: {
37+
type: String,
38+
default: resultEnum[0],
39+
validator (val) {
40+
return (val) => resultEnum.includes(val)
41+
}
42+
},
2543
title: {
2644
type: String,
2745
default: ''
2846
},
2947
description: {
3048
type: String,
3149
default: ''
32-
},
33-
content: {
34-
type: Boolean,
35-
default: true
50+
}
51+
},
52+
computed: {
53+
localIsSuccess: function () {
54+
return this.type === resultEnum[0]
3655
}
3756
}
3857
}
@@ -69,7 +88,7 @@ export default {
6988
color: rgba(0, 0, 0, 0.45);
7089
margin-bottom: 24px;
7190
}
72-
.content {
91+
.extra {
7392
background: #fafafa;
7493
padding: 24px 40px;
7594
border-radius: 2px;

src/views/result/Error.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
2-
<a-card :bordered="false">
3-
<result :is-success="false" :title="title" :description="description">
2+
<a-card :bordered="false" style="margin: -24px -24px 0px;">
3+
<result type="error" :title="title" :description="description">
44
<template slot="action">
55
<a-button type="primary" >返回修改</a-button>
66
</template>

src/views/result/Success.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
2-
<a-card :bordered="false">
3-
<result :is-success="true" :description="description" :title="title">
2+
<a-card :bordered="false" style="margin: -24px -24px 0px;">
3+
<result type="success" :description="description" :title="title">
44
<template slot="action">
55
<a-button type="primary">返回列表</a-button>
66
<a-button style="margin-left: 8px">查看项目</a-button>

0 commit comments

Comments
 (0)