king
2019-09-23 cec9290f6cd8e3e7e881f4d38d43de307645a08a
src/components/mainAction/index.jsx
@@ -1,13 +1,16 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
// import { is, fromJS } from 'immutable'
import { Button, Affix } from 'antd'
import { Button, Affix, Modal } from 'antd'
import './index.scss'
const { confirm } = Modal
class MainAction extends Component {
  static propTpyes = {
    actions: PropTypes.array, // 搜索条件列表
    dict: PropTypes.object // 字典项
    dict: PropTypes.object, // 字典项
    fixed: PropTypes.any
  }
  state = {
@@ -15,7 +18,20 @@
  }
  actionTrigger = (item) => {
    console.log(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 () {
@@ -28,21 +44,37 @@
  // }
  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 (
      <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>
      <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>
    )
  }
}