123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import React, { useMemo } from 'react'
- import { Button, Popconfirm } from 'antd'
- type Props = {
- txtK: '删除' | '取消' | '重置密码' | '退出登录' | '清空' | '取消认证'
- onConfirm: () => void
- Dom?: React.ReactNode
- loc?: 'bottom'
- }
- function MyPopconfirm({ txtK, onConfirm, Dom, loc }: Props) {
- const txt = useMemo(() => {
- const obj = {
- 删除: ['删除后无法恢复,是否删除?', '删除'],
- 取消: ['放弃编辑后,信息将不会保存!', '放弃'],
- 重置密码: ['密码重制后为123456,是否重置?', '重置'],
- 退出登录: ['确定退出吗?', '确定'],
- 清空: ['确定清空吗?', '确定'],
- 取消认证: ['是否移除该用户的团队认证资格及信息?', '移除']
- }
- return Reflect.get(obj, txtK) || ['', '']
- }, [txtK])
- return (
- <Popconfirm
- placement={loc}
- title={txt[0]}
- okText={txt[1]}
- cancelText='取消'
- onConfirm={onConfirm}
- okButtonProps={{ loading: false }}
- >
- {Dom ? (
- Dom
- ) : txtK === '删除' ? (
- <Button size='small' type='text' danger>
- {txtK}
- </Button>
- ) : (
- <Button>{txtK}</Button>
- )}
- </Popconfirm>
- )
- }
- const MemoMyPopconfirm = React.memo(MyPopconfirm)
- export default MemoMyPopconfirm
|