import React, { Component } from 'react'
|
import { CloseOutlined } from '@ant-design/icons'
|
|
import MKEmitter from '@/utils/events.js'
|
|
import './index.scss'
|
|
class SysMessage extends Component {
|
state = {
|
visible: false,
|
notices: []
|
}
|
|
componentDidMount() {
|
MKEmitter.addListener('sysMessageChange', this.sysMessageChange)
|
MKEmitter.addListener('sysMessageOpen', this.sysMessageOpen)
|
}
|
|
componentWillUnmount () {
|
this.setState = () => {
|
return
|
}
|
MKEmitter.removeListener('sysMessageChange', this.sysMessageChange)
|
MKEmitter.removeListener('sysMessageOpen', this.sysMessageOpen)
|
}
|
|
sysMessageChange = (notices) => {
|
this.setState({ notices })
|
}
|
|
sysMessageOpen = () => {
|
this.setState({ visible: true })
|
}
|
|
close = () => {
|
this.setState({ visible: false })
|
}
|
|
render() {
|
const { visible, notices } = this.state
|
|
return (
|
<div className={'mk-msg-wrap' + (visible ? ' visible' : '')}>
|
<div className="title">
|
系统消息
|
<CloseOutlined onClick={this.close}/>
|
</div>
|
<div className="msg-list">{notices.map((item, index) => {
|
return <div className="msg-item" key={index}>
|
{item.remark}
|
</div>
|
})}</div>
|
</div>
|
)
|
}
|
}
|
|
export default SysMessage
|