为什么React-Semantic-UI Transition没有动画组件?

问题描述 投票:1回答:1

我有一个组件,这是一个Modal警报。为了动画模态,我正在使用来自语义ui-react的Transition。但只有少数动画(pulsebounceflash)正在工作,这也只是在安装组件时,而不是在我关闭Modal时工作。此外,duration财产也不起作用。

class Alert extends React.Component {
  state = {
    open: true
  };

  close = () => {
    this.setState({
      open: false
    });
  };

  render() {
    const { open } = this.state;
    return (
      <Transition animation="fade" duration={1000} visible={open}>
        <Modal
          size="mini"
          closeOnDimmerClick={false}
          closeOnEscape={false}
          open={this.state.open}
          onClose={this.close}>

          <Modal.Content>
            <p>
              Hello user
            </p>
          </Modal.Content>
          <Modal.Actions>
            <Button color="blue" onClick={this.close}>
              Ok
            </Button>
          </Modal.Actions>
        </Modal>
      </Transition>
    );
  }
}

为什么这么奇怪的行为?我究竟做错了什么?

reactjs semantic-ui-react react-transition-group
1个回答
1
投票

Modal可以为它设置动画之前,Transition是卸载方式,一种方法是让Transition卸载模态:

class Alert extends React.Component {
  state = {
    open: true
  };

  close = () => {
    this.setState({
      open: false
    });
  };

  render() {
    const { open } = this.state;
    return (
      <Transition
        animation="fade"
        duration={1000}
        unmountOnHide={true}
        visible={open}
      >
        <Modal
          size="mini"
          closeOnDimmerClick={false}
          closeOnEscape={false}
          open={true}
          onClose={this.close}
        >
          <Modal.Content>
            <p>Hello user</p>
          </Modal.Content>
          <Modal.Actions>
            <Button color="blue" onClick={this.close}>
              Ok
            </Button>
          </Modal.Actions>
        </Modal>
      </Transition>
    );
  }
}

Edit Alert

我希望它有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.