import React, {Component} from 'react'
|
import PropTypes from 'prop-types'
|
// import { is, fromJS } from 'immutable'
|
import { Button, Affix, Modal } from 'antd'
|
import './index.scss'
|
|
const { confirm } = Modal
|
|
class MainAction extends Component {
|
static propTpyes = {
|
actions: PropTypes.array, // 搜索条件列表
|
dict: PropTypes.object, // 字典项
|
fixed: PropTypes.any
|
}
|
|
state = {
|
|
}
|
|
actionTrigger = (item) => {
|
if (item.Action === 'Prompt' || item.Action === 'Delete') {
|
confirm({
|
title: this.props.dict['main.action.confirm.tip'],
|
// content: 'Some descriptions',
|
onOk() {
|
return new Promise((resolve, reject) => {
|
setTimeout(Math.random() > 0.5 ? resolve : reject, 1000)
|
}).catch(() => console.log('Oops errors!'))
|
},
|
onCancel() {
|
console.log('Cancel')
|
}
|
})
|
}
|
}
|
|
UNSAFE_componentWillMount () {
|
|
}
|
|
// shouldComponentUpdate (nextProps, nextState) {
|
// console.log(!is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)))
|
// return true
|
// }
|
|
render() {
|
if (this.props.fixed) { // 按钮是否固定在头部
|
return (
|
<Affix offsetTop={48}>
|
<div className="button-list">
|
{this.props.actions.map((item, index) => {
|
return (
|
<Button
|
className={'mk-btn ' + item.CssClass}
|
icon={item.Icon}
|
key={'action' + index}
|
onClick={() => {this.actionTrigger(item)}}
|
>{item.MenuName}</Button>
|
)
|
})}
|
</div>
|
</Affix>
|
)
|
}
|
return (
|
<div className="button-list">
|
{this.props.actions.map((item, index) => {
|
return (
|
<Button
|
className={'mk-btn ' + item.CssClass}
|
icon={item.Icon}
|
key={'action' + index}
|
onClick={() => {this.actionTrigger(item)}}
|
>{item.MenuName}</Button>
|
)
|
})}
|
</div>
|
)
|
}
|
}
|
|
export default MainAction
|