Skip to content

Sheets (底部弹窗) 完整列表

源码: src/stackflow/activities/sheets/

Sheet 列表 (28个)

钱包相关

Sheet文件说明
WalletListJobWalletListJob.tsx钱包列表选择
WalletPickerJobWalletPickerJob.tsx钱包选择器
WalletAddJobWalletAddJob.tsx添加钱包
WalletRenameJobWalletRenameJob.tsx重命名钱包
WalletDeleteJobWalletDeleteJob.tsx删除钱包确认
WalletLockConfirmJobWalletLockConfirmJob.tsx钱包锁定确认

链相关

Sheet文件说明
ChainSelectorJobChainSelectorJob.tsx链选择器
ChainSwitchConfirmJobChainSwitchConfirmJob.tsx切换链确认

转账相关

Sheet文件说明
TransferConfirmJobTransferConfirmJob.tsx转账确认
TransferWalletLockJobTransferWalletLockJob.tsx转账解锁
FeeEditJobFeeEditJob.tsx手续费编辑

联系人相关

Sheet文件说明
ContactPickerJobContactPickerJob.tsx联系人选择
ContactEditJobContactEditJob.tsx联系人编辑
ContactShareJobContactShareJob.tsx联系人分享
ContactAddConfirmJobContactAddConfirmJob.tsx添加联系人确认

安全相关

Sheet文件说明
SecurityWarningJobSecurityWarningJob.tsx安全警告
SetTwoStepSecretJobSetTwoStepSecretJob.tsx设置安全密码
TwoStepSecretConfirmJobTwoStepSecretConfirmJob.tsx安全密码确认
MnemonicOptionsJobMnemonicOptionsJob.tsx助记词选项

DApp 授权相关

Sheet文件说明
PermissionRequestJobPermissionRequestJob.tsx权限请求
SigningConfirmJobSigningConfirmJob.tsx签名确认
MiniappTransferConfirmJobMiniappTransferConfirmJob.tsxMiniApp 转账确认
MiniappSignTransactionJobMiniappSignTransactionJob.tsxMiniApp 签名交易

工具

Sheet文件说明
ScannerJobScannerJob.tsx二维码扫描
ClearDataConfirmJobClearDataConfirmJob.tsx清除数据确认

详细文档

WalletListJob

钱包列表弹窗,用于切换当前钱包。

typescript
interface WalletListJobProps {
  // 无 props,使用 store 数据
}

// 打开方式
actions.push('WalletListJob', {})

ChainSelectorJob

链选择弹窗。

typescript
interface ChainSelectorJobParams {
  walletId: string
  currentChain?: string
}

// 打开方式
actions.push('ChainSelectorJob', { walletId, currentChain })

TransferConfirmJob

转账确认弹窗,显示交易详情并确认。

typescript
interface TransferConfirmJobParams {
  from: string
  to: string
  amount: string
  symbol: string
  fee: string
  chain: ChainType
  memo?: string
}

// 打开方式
actions.push('TransferConfirmJob', {
  from: wallet.address,
  to: recipient,
  amount: '1.5',
  symbol: 'ETH',
  fee: '0.002',
  chain: 'evm',
})

ContactPickerJob

联系人选择弹窗。

typescript
interface ContactPickerJobParams {
  chainType?: ChainType       // 过滤链类型
  onSelect?: (contact: Contact, address: ContactAddress) => void
}

FeeEditJob

手续费编辑弹窗。

typescript
interface FeeEditJobParams {
  chain: ChainType
  currentFee: string
  estimatedFee: string
  minFee: string
  maxFee: string
  onConfirm: (fee: string) => void
}

ScannerJob

二维码扫描弹窗。

typescript
interface ScannerJobParams {
  onScan: (result: string) => void
  title?: string
}

SigningConfirmJob

签名确认弹窗 (DApp 调用)。

typescript
interface SigningConfirmJobParams {
  appInfo: CallerAppInfo
  request: SignatureRequest
  onApprove: () => void
  onReject: () => void
}

Sheet 打开方式

typescript
import { useActions } from '@/stackflow'

function MyComponent() {
  const actions = useActions()
  
  // 打开 Sheet
  const openChainSelector = () => {
    actions.push('ChainSelectorJob', { walletId })
  }
  
  // 带回调的 Sheet
  const openContactPicker = () => {
    actions.push('ContactPickerJob', {
      chainType: 'evm',
      onSelect: (contact, address) => {
        setRecipient(address.address)
      },
    })
  }
}

Sheet vs Activity

特性SheetActivity
显示方式底部弹出全屏页面
背景半透明遮罩不透明
关闭方式下滑/点击遮罩返回按钮
用途快捷操作/确认完整流程
命名*Job*Activity

Released under the MIT License.