Browse Source
* feat: FloatButton support internal Badge * update docs * style * update docs * test: update snap * fix * update demo * test: update snap * update style * test: update snap * test: update snap * add docs * fix: update style * update * fix * fix * fix * update style * fix * update demo * add * add docs * snap * test: add test case * Update components/float-button/demo/badge.md Co-authored-by: MadCcc <1075746765@qq.com> * fix * docs: add debug demo * docs: add debug demo * test: update snap * fix border-radius * update snap * fix * fix * rename * style: use paddingXXS * fix * update demo * update snap * demo: add demo --------- Co-authored-by: MadCcc <1075746765@qq.com>pull/41345/head
lijianan
2 years ago
committed by
GitHub
16 changed files with 2763 additions and 1371 deletions
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,7 @@ |
|||
## zh-CN |
|||
|
|||
调试使用。 |
|||
|
|||
## en-US |
|||
|
|||
debug use. |
@ -0,0 +1,22 @@ |
|||
import { ConfigProvider, FloatButton, Slider } from 'antd'; |
|||
import type { AliasToken } from 'antd/es/theme/interface'; |
|||
import React, { useState } from 'react'; |
|||
|
|||
const App: React.FC = () => { |
|||
const [radius, setRadius] = useState<number>(0); |
|||
|
|||
const token: Partial<AliasToken> = { |
|||
borderRadius: radius, |
|||
}; |
|||
|
|||
return ( |
|||
<> |
|||
<Slider min={0} max={20} style={{ margin: 16 }} onChange={setRadius} /> |
|||
<ConfigProvider theme={{ token }}> |
|||
<FloatButton shape="square" badge={{ dot: true }} /> |
|||
</ConfigProvider> |
|||
</> |
|||
); |
|||
}; |
|||
|
|||
export default App; |
@ -0,0 +1,7 @@ |
|||
## zh-CN |
|||
|
|||
右上角附带圆形徽标数字的悬浮按钮。 |
|||
|
|||
## en-US |
|||
|
|||
FloatButton with Badge. |
@ -0,0 +1,20 @@ |
|||
import { QuestionCircleOutlined } from '@ant-design/icons'; |
|||
import { FloatButton } from 'antd'; |
|||
import React from 'react'; |
|||
|
|||
const App: React.FC = () => ( |
|||
<> |
|||
<FloatButton shape="circle" badge={{ dot: true }} style={{ right: 24 + 70 + 70 }} /> |
|||
<FloatButton.Group shape="circle" style={{ right: 24 + 70 }}> |
|||
<FloatButton tooltip={<div>custom badge color</div>} badge={{ count: 5, color: 'blue' }} /> |
|||
<FloatButton badge={{ count: 5 }} /> |
|||
</FloatButton.Group> |
|||
<FloatButton.Group shape="circle"> |
|||
<FloatButton badge={{ count: 12 }} icon={<QuestionCircleOutlined />} /> |
|||
<FloatButton badge={{ count: 123, overflowCount: 999 }} /> |
|||
<FloatButton.BackTop visibilityHeight={0} /> |
|||
</FloatButton.Group> |
|||
</> |
|||
); |
|||
|
|||
export default App; |
@ -0,0 +1,10 @@ |
|||
const getOffset = (radius: number): number => { |
|||
if (radius === 0) { |
|||
return 0; |
|||
} |
|||
// 如果要考虑通用性,这里应该用三角函数 Math.sin(45)
|
|||
// 但是这个场景比较特殊,始终是等腰直角三角形,所以直接用 Math.sqrt() 开方即可
|
|||
return radius - Math.sqrt(radius ** 2 / 2); |
|||
}; |
|||
|
|||
export default getOffset; |
Loading…
Reference in new issue