fix(message): using iconClass causes "el-message__icon" to be lost (#2709)

Co-authored-by: 穆建华 <galimu@foxmail.com>
This commit is contained in:
咖喱 2021-07-28 10:07:51 +08:00 committed by GitHub
parent ecd6e19c26
commit 8f39b7cc6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -33,7 +33,7 @@ describe('Message.vue', () => {
expect(wrapper.text()).toEqual(AXIOM)
expect(vm.visible).toBe(true)
expect(vm.typeClass).toBe('el-message__icon el-icon-info')
expect(vm.typeClass).toBe('el-icon-info')
expect(vm.customStyle).toEqual({ top: '20px', zIndex: 0 })
})
@ -100,7 +100,7 @@ describe('Message.vue', () => {
const type = 'some-type'
const wrapper = _mount({ props: { type } })
expect(wrapper.find('.el-message__icon').exists()).toBe(false)
expect(wrapper.find(`el-icon-${type}`).exists()).toBe(false)
})
})

View File

@ -15,7 +15,7 @@
@mouseenter="clearTimer"
@mouseleave="startTimer"
>
<i v-if="type || iconClass" :class="[typeClass, iconClass]"></i>
<i v-if="type || iconClass" :class="['el-message__icon', typeClass, iconClass]"></i>
<slot>
<p v-if="!dangerouslyUseHTMLString" class="el-message__content">{{ message }}</p>
<!-- Caution here, message could've been compromised, never use user's input as message -->
@ -65,7 +65,7 @@ export default defineComponent({
const typeClass = computed(() => {
const type = !props.iconClass && props.type
return type && TypeMap[type]
? `el-message__icon el-icon-${TypeMap[type]}`
? `el-icon-${TypeMap[type]}`
: ''
})
const customStyle = computed(() => {