Skip to content

<WalletWidget>

<WalletWidget> 是负责渲染钱包组件的 React 组件。

<WalletWidget> 必须渲染在 <WalletProvider> 内部。

示例

tsx
import { WalletWidget } from '@money-sdk/react'

function Layout() {
  return (
    <header>
      <WalletWidget theme={{ variant: 'dark' }} size="large" shape="squared" />
    </header>
  )
}

INFO

在用户连接钱包之前,该组件保持不可见 —— 断开状态下它会返回 null。 请将它放置在一个始终挂载的容器中(例如你的根布局),并在它旁边渲染 你自己的连接按钮。

参考

props.theme

通过传入具有以下属性的对象来自定义钱包组件的主题:

属性描述默认值取值
variant展开状态钱包组件的皮肤。'glow''dark' | 'flat' | 'glow'
colors.accentColor钱包组件的强调色。设置此项会启用单色模式,移除任何其他竞争色(例如 token 图标)。undefined任意有效的 CSS 颜色字符串。
colors.collapsed.accentColor折叠状态钱包组件的强调色。若 colors.accentColor 已定义,则回落到该值。undefined任意有效的 CSS 颜色字符串。
colors.collapsed.backgroundColor折叠状态钱包组件的背景色。undefined任意有效的 CSS 颜色字符串。

CSS var(...) 引用会在被转发到 iframe 之前主动解析,因此你可以引用 自己的设计 token:

tsx
<WalletWidget
  theme={{
    variant: 'glow',
    colors: { accentColor: 'var(--brand-accent)' },
  }}
/>

props.size

为折叠状态的钱包组件选择四种尺寸之一:smallmediumlargehuge

默认值为 'medium'

props.shape

为折叠状态的钱包组件选择两种形状之一:roundedsquared

默认值为 'rounded'

props.compact

启用紧凑模式。该模式是折叠状态钱包组件的一个迷你版本,只包含头像。

默认值为 false

props.noAutoCompact

阻止钱包组件在小屏幕上自动切换到紧凑模式。

默认值为 false

props.smallBreakpoint

定义以像素为单位的断点,用于针对小屏幕优化钱包组件。

当视口宽度低于此数值时,钱包组件会使用紧凑模式并展开占满整个屏幕。

默认值为 540

props.noAutoCollapse

阻止钱包组件在点击外部时折叠。

默认值为 false

props.experimental_mode

渲染模式。dropdown 在原位展开组件(适合桌面端);modal 在一个 居中 portal 中渲染组件。默认值为 dropdown —— 它仍会通过 smallBreakpoint prop 保持响应式。

props.className

用于自定义样式的额外 CSS class。

默认值为 undefined

props.style

用于自定义样式的 inline 样式。

默认值为 undefined