跳到主要内容

confirm 确认弹框

confirm(option)

示例

import { Header, ScrollView, TopView, GroupList, confirm, Button, toast, Column, Text, TestIcon } from '@/duxuiExample'

export default function ConfirmExample() {

return <TopView>
<Header title='confirm' />
<ScrollView>
<GroupList>
<GroupList.Item title='显示确认框框'>
<Button
type='primary'
onClick={async () => {
const status = await confirm()
toast(status ? '点击确定' : '点击了取消')
}}
>显示</Button>
</GroupList.Item>
<GroupList.Item title='自定义文字'>
<Button
type='primary'
onClick={() => {
confirm({
title: '自定义标题',
content: '自定义内容',
cancelText: '自定义取消',
confirmText: '自定义确定'
})
}}
>显示</Button>
</GroupList.Item>
<GroupList.Item title='不显示取消按钮'>
<Button
type='primary'
onClick={() => {
confirm({
cancel: false
})
}}
>显示</Button>
</GroupList.Item>
<GroupList.Item title='自定义内容'>
<Button
type='primary'
onClick={() => {
confirm({
title: '自定义',
content: <Column className='mh-3 mt-3 items-center'>
<Text type='primary'>这是自定义文本内容,这里可以放任何内容</Text>
</Column>
})
}}
>显示</Button>
</GroupList.Item>
<GroupList.Item title='自定义底部'>
<Button
type='primary'
onClick={() => {
const task = confirm({
title: '自定义',
content: '点击底部可以关闭,让这个弹框触发reject',
renderBottom: <Column items='center' className='mt-3'>
<TestIcon name='fail-close_line' className='text-white' size={48}
onClick={() => {
task.close()
}}
/>
</Column>
})
task.then(status => {
console.log('点击了确定或取消', status)
}).catch(() => {
console.log('点击了关闭图标')
})
}}
>显示</Button>
</GroupList.Item>
</GroupList>
</ScrollView>
</TopView>
}

参数

option

弹窗参数

名称类型必填说明
titlestring标题
contentstring | ReactElement内容
cancelboolean是否显示取消按钮 默认显示
cancelTextstring取消按钮文本
confirmTextstring确认按钮文本
renderTopReactElement显示在整个弹框的上面
renderBottomReactElement显示在整个弹框的下面

返回值

返回一个Promise,回调一个状态 true 点击了确认,false 点击了取消

返回的Promise还提供了一下方法

名称说明
confirm()相当于点击确认
cancel()相当于点击取消
close()触发Promise reject