message: fix(options): keep modal hide animation
diff: @@ -75,7 +75,6 @@ export class MatchPatternModal extends React.Component<MatchPatternModalProps, M
  render () {
  const { area, t, config } = this.props
  - if (!area) { return null }
  const { getFieldDecorator, getFieldsError } = this.props.form
  const title = (area.startsWith('pdf') ? 'PDF ' : '') +
  @@ -84,8 +83,6 @@ export class MatchPatternModal extends React.Component<MatchPatternModalProps, M
  const hasErrors = Object.values(getFieldsError())
  .some(errs => errs && errs.length > 0)
  - const length = config[area].length
  -
  return (
  <Modal
  visible={!!area}
  @@ -96,6 +93,7 @@ export class MatchPatternModal extends React.Component<MatchPatternModalProps, M
  onCancel={this.handleCancel}
  >
  <p dangerouslySetInnerHTML={{ __html: t('match_pattern_description') }} />
  + {area &&
  <Form>
  {config[area].map(([reg, src], index) => (
  <Form.Item key={index} help='' style={itemStyle}>{
  @@ -108,8 +106,8 @@ export class MatchPatternModal extends React.Component<MatchPatternModalProps, M
  }</Form.Item>
  ))}
  {this.state.additionalItems.map(([reg, src], index) => (
  - <Form.Item key={index + length} help='' style={itemStyle}>{
  - getFieldDecorator(`${index + length}`, {
  + <Form.Item key={index + config[area].length} help='' style={itemStyle}>{
  + getFieldDecorator(`${index + config[area].length}`, {
  initialValue: src,
  rules: [{ validator: this.validator }],
  })(
  @@ -118,6 +116,7 @@ export class MatchPatternModal extends React.Component<MatchPatternModalProps, M
  }</Form.Item>
  ))}
  </Form>
  + }
  <Button
  type='dashed'
  style={{ width: '100%', marginTop: 10 }}
  