動手試試
最簡用法
Danger.jsx<MotionHold duration={1200} onConfirm={deleteProject}>
Hold to delete
</MotionHold>;
它替你處理的事
- 按住指標、空白鍵或 Enter 時,填色會逐漸增加。
- 提早放開會讓填色倒轉,倒轉途中再按一次會從目前的填色繼續。
- 按住時按鈕會下沉,確認時彈起一次。
Props
| Prop | 型別 | 預設值 | 說明 |
|---|
children | ReactNode | | 按鈕的標籤。 |
|---|
onConfirm | () => void | | 長按完成時執行一次。 |
|---|
duration | number | 1200 | 需要按住的毫秒數。 |
|---|
disabled | boolean | false | 停用按鈕。 |
|---|
fillClassName | string | | 逐漸增加之填色的 class;fillStyle 設定其行內樣式。 |
|---|
其他 props 會傳給渲染的元素,所以 className、style 與事件處理函式照常可用。