diff --git a/src/packages/dialog/config.ts b/src/packages/dialog/config.ts
index 71e2bcfe30..a9400fb481 100644
--- a/src/packages/dialog/config.ts
+++ b/src/packages/dialog/config.ts
@@ -7,7 +7,7 @@ export type DialogConfigType = {
simple?: boolean
}
-export type DialogCloseIconPositionType = 'top-right' | 'top-left'
+export type DialogCloseIconPosition = 'top-right' | 'top-left' | 'bottom'
export interface DialogBasicProps extends BasicComponent {
visible?: boolean
@@ -24,7 +24,7 @@ export interface DialogBasicProps extends BasicComponent {
closeOnOverlayClick?: boolean
footerDirection?: string
lockScroll?: boolean
- closeIconPosition?: DialogCloseIconPositionType
+ closeIconPosition?: DialogCloseIconPosition
closeIcon?: boolean | ReactNode
beforeClose?: () => boolean
beforeCancel?: () => boolean
diff --git a/src/packages/dialog/demo.taro.tsx b/src/packages/dialog/demo.taro.tsx
index 9161d84089..5c76d1dfa7 100644
--- a/src/packages/dialog/demo.taro.tsx
+++ b/src/packages/dialog/demo.taro.tsx
@@ -1,6 +1,6 @@
import React, { useState } from 'react'
import Taro from '@tarojs/taro'
-import { ArrowCornerLeft } from '@nutui/icons-react-taro'
+import { Close } from '@nutui/icons-react-taro'
import { Dialog, Cell, Image } from '@/packages/nutui.react.taro'
import { useTranslate } from '@/sites/assets/locale/taro'
import Header from '@/sites/components/header'
@@ -44,7 +44,7 @@ const DialogDemo = () => {
cancelText: '取消',
header: '顶部带插图',
closeIcon: '顶部带关闭按钮',
- customClose: '自定义顶部关闭按钮',
+ customClose: '自定义底部关闭按钮',
},
'en-US': {
basic: 'Basic Usage',
@@ -64,7 +64,7 @@ const DialogDemo = () => {
cancelText: 'cancel',
header: 'Top with illustration',
closeIcon: 'Top with close button',
- customClose: 'Customize the top close button',
+ customClose: 'Customize the bottom close button',
},
})
@@ -227,14 +227,12 @@ const DialogDemo = () => {
className="test-dialog"
title={translated.customClose}
visible={visible10}
- closeIcon={}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible10(false)}
onCancel={() => setVisible10(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
diff --git a/src/packages/dialog/demo.tsx b/src/packages/dialog/demo.tsx
index a83959f7a7..0ffe1fe556 100644
--- a/src/packages/dialog/demo.tsx
+++ b/src/packages/dialog/demo.tsx
@@ -1,5 +1,5 @@
import React, { useState } from 'react'
-import { ArrowCornerLeft } from '@nutui/icons-react'
+import { Close } from '@nutui/icons-react'
import { Dialog } from './dialog'
import Cell from '../cell'
import { useTranslate } from '@/sites/assets/locale'
@@ -46,7 +46,7 @@ const DialogDemo = () => {
cancelText: '取消',
header: '顶部带插图',
closeIcon: '顶部带关闭按钮',
- customClose: '自定义顶部关闭按钮',
+ customClose: '自定义底部关闭按钮',
},
'en-US': {
funUse: 'Function use',
@@ -67,7 +67,7 @@ const DialogDemo = () => {
cancelText: 'cancel',
header: 'Top with illustration',
closeIcon: 'Top with close button',
- customClose: 'Customize the top close button',
+ customClose: 'Customize the bottom close button',
},
})
@@ -299,14 +299,12 @@ const DialogDemo = () => {
className="test-dialog"
title={translated.customClose}
visible={visible9}
- closeIcon={}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible9(false)}
onCancel={() => setVisible9(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
diff --git a/src/packages/dialog/dialog.scss b/src/packages/dialog/dialog.scss
index f5d0a9fd70..d1d53d44af 100644
--- a/src/packages/dialog/dialog.scss
+++ b/src/packages/dialog/dialog.scss
@@ -19,7 +19,6 @@
&-outer {
position: fixed;
max-height: 100%;
- overflow-y: auto;
background-color: $white;
transition:
transform 0.2s,
@@ -54,6 +53,13 @@
left: $dialog-close-left;
}
+ &-bottom {
+ top: initial;
+ bottom: -56px;
+ left: 50%;
+ transform: translate(-50%);
+ }
+
&:active {
opacity: 0.7;
}
@@ -79,6 +85,7 @@
word-break: break-all;
white-space: pre-wrap;
text-align: $dialog-content-text-align;
+ overflow-y: auto;
}
&-footer {
diff --git a/src/packages/dialog/doc.en-US.md b/src/packages/dialog/doc.en-US.md
index 3958ed1dca..94d603031f 100644
--- a/src/packages/dialog/doc.en-US.md
+++ b/src/packages/dialog/doc.en-US.md
@@ -94,7 +94,7 @@ export default App;
```tsx
import React, {useState} from "react";
import { Cell,Dialog,Image } from '@nutui/nutui-react';
-import { ArrowCornerLeft } from '@nutui/icons-react'
+import { Close } from '@nutui/icons-react'
const App = () => {
const [visible1, setVisible1] = useState(false);
@@ -174,23 +174,21 @@ const App = () => {
{translated.content}
{
setVisible9(true)
}}
/>
}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible9(false)}
onCancel={() => setVisible9(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
@@ -221,7 +219,7 @@ export default App;
| hideCancelButton | Whether to hide the cancel button | `boolean` | `false` |
| disableConfirmButton | Disable the OK button | `boolean` | `false` |
| closeIcon | Close button | `boolean` \| `ReactNode` | `false` |
-| closeIconPosition | Close button position | `top-left` \| `top-right` | `top-right` |
+| closeIconPosition | Close button position | `top-left` \| `top-right` \| `bottom` | `top-right` |
| closeOnOverlayClick | Click on whether to close the dialog box | `boolean` | `true` |
| footerDirection | Use horizontal and vertical direction value selection horizontal、vertical | `string` | `horizontal` |
| lockScroll | Whether the background is locked | `boolean` | `true` |
diff --git a/src/packages/dialog/doc.md b/src/packages/dialog/doc.md
index d5c08d0e7e..2644edeaef 100644
--- a/src/packages/dialog/doc.md
+++ b/src/packages/dialog/doc.md
@@ -97,7 +97,7 @@ export default App;
```tsx
import React, {useState} from "react";
import { Cell,Dialog,Image } from '@nutui/nutui-react';
-import { ArrowCornerLeft } from '@nutui/icons-react'
+import { Close } from '@nutui/icons-react'
const App = () => {
const [visible1, setVisible1] = useState(false);
@@ -200,23 +200,21 @@ const App = () => {
{translated.content}
{
setVisible9(true)
}}
/>
}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible9(false)}
onCancel={() => setVisible9(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
@@ -247,7 +245,7 @@ export default App;
| hideCancelButton | 是否隐藏取消按钮 | `boolean` | `false` |
| disableConfirmButton | 禁用确定按钮 | `boolean` | `false` |
| closeIcon | 关闭按钮 | `boolean` \| `ReactNode` | `false` |
-| closeIconPosition | 关闭按钮位置 | `top-left` \| `top-right` | `top-right` |
+| closeIconPosition | 关闭按钮位置 | `top-left` \| `top-right` \| `bottom` | `top-right` |
| closeOnOverlayClick | 点击蒙层是否关闭对话框 | `boolean` | `true` |
| footerDirection | 使用横纵方向 可选值 horizontal、vertical | `string` | `horizontal` |
| lockScroll | 背景是否锁定 | `boolean` | `true` |
diff --git a/src/packages/dialog/doc.taro.md b/src/packages/dialog/doc.taro.md
index cf9be852d2..1a501a340a 100644
--- a/src/packages/dialog/doc.taro.md
+++ b/src/packages/dialog/doc.taro.md
@@ -57,7 +57,7 @@ export default App;
```tsx
import React, {useState} from "react";
import { Cell,Dialog,Image } from '@nutui/nutui-react-taro';
-import { ArrowCornerLeft } from '@nutui/icons-react-taro'
+import { Close } from '@nutui/icons-react-taro'
const App = () => {
const [visible1, setVisible1] = useState(false)
@@ -186,23 +186,21 @@ const App = () => {
{translated.content}
{
setVisible9(true)
}}
/>
}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible9(false)}
onCancel={() => setVisible9(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
@@ -233,7 +231,7 @@ export default App;
| hideCancelButton | 是否隐藏取消按钮 | `boolean` | `false` |
| disableConfirmButton | 禁用确定按钮 | `boolean` | `false` |
| closeIcon | 关闭按钮 | `boolean` \| `ReactNode` | `false` |
-| closeIconPosition | 关闭按钮位置 | `top-left` \| `top-right` | `top-right` |
+| closeIconPosition | 关闭按钮位置 | `top-left` \| `top-right` \| `bottom` | `top-right` |
| closeOnOverlayClick | 点击蒙层是否关闭对话框 | `boolean` | `true` |
| footerDirection | 使用横纵方向 可选值 horizontal、vertical | `string` | `horizontal` |
| lockScroll | 背景是否锁定 | `boolean` | `false` |
diff --git a/src/packages/dialog/doc.zh-TW.md b/src/packages/dialog/doc.zh-TW.md
index fdeb06c506..6d474ef477 100644
--- a/src/packages/dialog/doc.zh-TW.md
+++ b/src/packages/dialog/doc.zh-TW.md
@@ -97,7 +97,7 @@ export default App;
```tsx
import React, {useState} from "react";
import { Cell,Dialog,Image } from '@nutui/nutui-react';
-import { ArrowCornerLeft } from '@nutui/icons-react'
+import { Close } from '@nutui/icons-react'
const App = () => {
const [visible1, setVisible1] = useState(false);
@@ -200,23 +200,21 @@ const App = () => {
{translated.content}
| {
setVisible9(true)
}}
/>
}
- closeIconPosition="top-left"
+ closeIcon={}
+ closeIconPosition="bottom"
onConfirm={() => setVisible9(false)}
onCancel={() => setVisible9(false)}
style={{
- '--nutui-dialog-close-top': '10px',
- '--nutui-dialog-close-left': '10px',
- '--nutui-dialog-close-color': 'red',
+ '--nutui-dialog-close-color': '#FFFFFF',
}}
>
{translated.content}
@@ -247,7 +245,7 @@ export default App;
| hideCancelButton | 是否隱藏取消按鈕 | `boolean` | `false` |
| disableConfirmButton | 禁用確定按鈕 | `boolean` | `false` |
| closeIcon | 關閉按鈕 | `boolean` \| `ReactNode` | `false` |
-| closeIconPosition | 關閉按鈕位置 | `top-left` \| `top-right` | `top-right` |
+| closeIconPosition | 關閉按鈕位置 | `top-left` \| `top-right` \| `bottom` | `top-right` |
| closeOnOverlayClick | 點擊蒙層是否關閉對話框 | `boolean` | `true` |
| footerDirection | 使用橫縱方向 可選值 horizontal、vertical | `string` | `horizontal` |
| lockScroll | 背景是否鎖定 | `boolean` | `true` |
diff --git a/src/packages/dialog/index.ts b/src/packages/dialog/index.ts
index 0980b83a1c..d0a4c4a1ef 100644
--- a/src/packages/dialog/index.ts
+++ b/src/packages/dialog/index.ts
@@ -2,7 +2,7 @@ import { Dialog } from './dialog'
export type {
DialogConfigType,
- DialogCloseIconPositionType,
+ DialogCloseIconPosition,
DialogBasicProps,
DialogConfirmProps,
DialogReturnProps,
| | | |