king
2025-04-21 f3d4db769ba9b51b799d981511a710fd443d0e08
src/components/normalform/index.jsx
@@ -3,10 +3,7 @@
import { is, fromJS } from 'immutable'
import { Modal } from 'antd'
import zhCN from '@/locales/zh-CN/model.js'
import enUS from '@/locales/en-US/model.js'
import ModalForm from './modalform'
import './index.scss'
class NormalFormComponent extends Component {
  static propTpyes = {
@@ -18,13 +15,12 @@
  }
  state = {
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    visible: false,
    formlist: []
  }
  shouldComponentUpdate (nextProps, nextState) {
    return !is(fromJS(this.state), fromJS(nextState))
    return !is(fromJS(this.state), fromJS(nextState)) || !is(fromJS(this.props.children), fromJS(nextProps.children))
  }
  trigger = () => {
@@ -55,22 +51,28 @@
    })
  }
  cancel = () => {
    this.setState({ visible: false })
    this.props.cancel && this.props.cancel()
  }
  render () {
    const { title, width, children } = this.props
    const { visible, dict, formlist } = this.state
    const { title, width, children, double } = this.props
    const { visible, formlist } = this.state
    return (
      <div className="normal-form-wrap">
        <span onClick={this.trigger}>{children}</span>
      <>
        {!double ? <span onClick={this.trigger}>{children}</span> : <span onDoubleClick={this.trigger}>{children}</span>}
        <Modal
          wrapClassName="popview-modal"
          title={title}
          visible={visible}
          width={width}
          maskClosable={false}
          okText={dict['model.confirm']}
          okText="确定"
          onOk={this.submit}
          onCancel={() => { this.setState({ visible: false }) }}
          onCancel={this.cancel}
          destroyOnClose
        >
          <ModalForm
@@ -79,7 +81,7 @@
            wrappedComponentRef={(inst) => this.Ref = inst}
          />
        </Modal>
      </div>
      </>
    )
  }
}