UNPKG

adui

Version:

<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>

69 lines (65 loc) 1.84 kB
--- order: 3 title: zh-CN: animation en-US: animation --- JS:通过 `animation` 自定义地控制每个阶段。 ```jsx const [visible, setVisible] = useState(false) return ( <div className="w-2/4 text-center"> <Button onClick={() => setVisible(!visible)}>toggle animation</Button> <Motion animation={{ enter(node, done) { node.style.opacity = "0" node.style.transform = "translateX(50px)" node.style.height = "0" setTimeout(() => { node.style.opacity = "1" node.style.transform = "translateX(0)" node.style.height = "160px" }, 50) const promise = new Promise((resolve) => setTimeout(resolve, 300)) promise.then(() => { return done() }) }, leave(node, done) { node.style.opacity = "0" node.style.transform = "translateX(50px)" node.style.height = "0" const promise = new Promise((resolve) => setTimeout(resolve, 300)) promise.then(() => { return done() }) }, }} > {visible && <div className="adui-custom-example"></div>} </Motion> <style dangerouslySetInnerHTML={{ __html: ` .adui-custom-example { display: flex; align-items: center; justify-content: center; margin-top: 20px; height: 160px; font-family: SFMono-Semibold; font-size: 13px; line-height: 20px; color: rgb(255, 255, 255); font-weight: 600; border-radius: 6px; background-color: var(--primary-color); transition: .3s ease all; } `, }} /> </div> ) ```