| 1 |
- import{e as s,o as n,G as a}from"./vendor.9cc7b6f2.js";const t={class:"markdown-body"},l=[a('<h1>Dialog 对话框</h1><h3>介绍</h3><p>模态对话框,在浮层中显示,引导用户进行相关操作,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。</p><h3>安装</h3><pre><code class="language-javascript"><span class="hljs-keyword">import</span> { createApp } <span class="hljs-keyword">from</span> <span class="hljs-string">'vue'</span>;\n<span class="hljs-keyword">import</span> { Dialog } <span class="hljs-keyword">from</span> <span class="hljs-string">'@nutui/nutui-taro'</span>;\n\n<span class="hljs-keyword">const</span> app = createApp();\napp.use(Dialog);\n</code></pre><h2>使用方式</h2><pre><code class="language-html"><span class="hljs-tag"><<span class="hljs-name">nut-cell</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"基础弹框"</span> @<span class="hljs-attr">click</span>=<span class="hljs-string">"baseClick"</span>></span><span class="hljs-tag"></<span class="hljs-name">nut-cell</span>></span>\n<span class="hljs-tag"><<span class="hljs-name">nut-dialog</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"基础弹框"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"这是基础弹框。"</span> <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible1"</span> @<span class="hljs-attr">cancel</span>=<span class="hljs-string">"onCancel"</span> @<span class="hljs-attr">ok</span>=<span class="hljs-string">"onOk"</span> /></span>\n\n<span class="hljs-tag"><<span class="hljs-name">nut-cell</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"无标题弹框"</span> @<span class="hljs-attr">click</span>=<span class="hljs-string">"noTitleClick"</span>></span><span class="hljs-tag"></<span class="hljs-name">nut-cell</span>></span>\n<span class="hljs-tag"><<span class="hljs-name">nut-dialog</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"这是无标题弹框。"</span> <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible2"</span> @<span class="hljs-attr">cancel</span>=<span class="hljs-string">"onCancel"</span> @<span class="hljs-attr">ok</span>=<span class="hljs-string">"onOk"</span> /></span>\n\n<span class="hljs-tag"><<span class="hljs-name">nut-cell</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"提示弹框"</span> @<span class="hljs-attr">click</span>=<span class="hljs-string">"tipsClick"</span>></span><span class="hljs-tag"></<span class="hljs-name">nut-cell</span>></span>\n<span class="hljs-tag"><<span class="hljs-name">nut-dialog</span> <span class="hljs-attr">no-cancel-btn</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"温馨提示"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"这是提示弹框。"</span> <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible3"</span> @<span class="hljs-attr">cancel</span>=<span class="hljs-string">"onCancel"</span> @<span class="hljs-attr">ok</span>=<span class="hljs-string">"onOk"</span> /></span>\n\n<span class="hljs-tag"><<span class="hljs-name">nut-cell</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"异步关闭"</span> @<span class="hljs-attr">click</span>=<span class="hljs-string">"componentClick"</span>></span><span class="hljs-tag"></<span class="hljs-name">nut-cell</span>></span>\n<span class="hljs-tag"><<span class="hljs-name">nut-dialog</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"异步关闭"</span> <span class="hljs-attr">:content</span>=<span class="hljs-string">"closeContent"</span> <span class="hljs-attr">:visible</span>=<span class="hljs-string">"visible4"</span> @<span class="hljs-attr">cancel</span>=<span class="hljs-string">"onCancel"</span> @<span class="hljs-attr">ok</span>=<span class="hljs-string">"onOkAsync"</span> /></span>\n</code></pre><pre><code class="language-javascript"><span class="hljs-keyword">import</span> { ref } <span class="hljs-keyword">from</span> <span class="hljs-string">'vue'</span>;\n<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {\n <span class="hljs-function"><span class="hljs-title">setup</span>(<span class="hljs-params"></span>)</span> {\n <span class="hljs-keyword">const</span> visible1 = ref(<span class="hljs-literal">false</span>);\n <span class="hljs-keyword">const</span> visible2 = ref(<span class="hljs-literal">false</span>);\n <span class="hljs-keyword">const</span> visible3 = ref(<span class="hljs-literal">false</span>);\n <span class="hljs-keyword">const</span> visible4 = ref(<span class="hljs-literal">false</span>);\n <span class="hljs-keyword">const</span> closeContent = ref(<span class="hljs-string">''</span>);\n <span class="hljs-keyword">const</span> sleep = <span class="hljs-function">() =></span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve</span>) =></span> <span class="hljs-built_in">setTimeout</span>(resolve, <span class="hljs-number">1000</span>));\n <span class="hljs-keyword">const</span> countDown = <span class="hljs-function">(<span class="hljs-params">second: number</span>) =></span> <span class="hljs-string">`倒计时 <span class="hljs-subst">${second}</span> 秒`</span>;\n\n <span class="hljs-keyword">const</span> onCancel = <span class="hljs-function">() =></span> {\n <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'event cancel'</span>);\n };\n <span class="hljs-keyword">const</span> onOk = <span class="hljs-function">() =></span> {\n <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'event ok'</span>);\n };\n <span class="hljs-keyword">const</span> onOkAsync = <span class="hljs-function">() =></span> {\n sleep()\n .then(<span class="hljs-function">() =></span> {\n closeContent.value = countDown(<span class="hljs-number">2</span>);\n <span class="hljs-keyword">return</span> sleep();\n })\n .then(<span class="hljs-function">() =></span> {\n closeContent.value = countDown(<span class="hljs-number">1</span>);\n <span class="hljs-keyword">return</span> sleep();\n })\n .then(<span class="hljs-function">() =></span> {\n closeContent.value = countDown(<span class="hljs-number">0</span>);\n })\n .then(<span class="hljs-function">() =></span> {\n visible4.value = <span class="hljs-literal">false</span>;\n });\n };\n\n <span class="hljs-keyword">const</span> baseClick = (): <span class="hljs-function"><span class="hljs-params">void</span> =></span> {\n visible1.value = <span class="hljs-literal">true</span>;\n };\n <span class="hljs-keyword">const</span> noTitleClick = <span class="hljs-function">() =></span> {\n visible2.value = <span class="hljs-literal">true</span>;\n };\n <span class="hljs-keyword">const</span> tipsClick = <span class="hljs-function">() =></span> {\n visible3.value = <span class="hljs-literal">true</span>;\n };\n\n <span class="hljs-keyword">const</span> componentClick = <span class="hljs-function">() =></span> {\n closeContent.value = <span class="hljs-string">`点击确定时3s后关闭`</span>;\n visible4.value = <span class="hljs-literal">true</span>;\n };\n\n <span class="hljs-keyword">return</span> {\n visible1,\n visible2,\n visible3,\n visible4,\n onCancel,\n onOk,\n closeContent,\n onOkAsync,\n baseClick,\n noTitleClick,\n componentClick,\n tipsClick\n };\n }\n};\n</code></pre><h2>Props</h2><table><thead><tr><th>字段</th><th>说明</th><th>类型</th><th>默认值</th></tr></thead><tbody><tr><td>title</td><td>标题</td><td>String</td><td>-</td></tr><tr><td>content</td><td>内容,支持HTML</td><td>String</td><td>-</td></tr><tr><td>teleport</td><td>指定挂载节点</td><td>String</td><td>“body”</td></tr><tr><td>close-on-click-overlay</td><td>点击蒙层是否关闭对话框</td><td>Boolean</td><td>false</td></tr><tr><td>no-footer</td><td>是否隐藏底部按钮栏</td><td>Boolean</td><td>false</td></tr><tr><td>no-ok-btn</td><td>是否隐藏确定按钮</td><td>Boolean</td><td>false</td></tr><tr><td>no-cancel-btn</td><td>是否隐藏取消按钮</td><td>Boolean</td><td>false</td></tr><tr><td>cancel-text</td><td>取消按钮文案</td><td>String</td><td>”取消“</td></tr><tr><td>ok-text</td><td>确定按钮文案</td><td>String</td><td>”确 定“</td></tr><tr><td>ok-btn-disabled</td><td>禁用确定按钮</td><td>Boolean</td><td>false</td></tr><tr><td>cancel-auto-close</td><td>取消按钮是否默认关闭弹窗</td><td>Boolean</td><td>true</td></tr><tr><td>text-align</td><td>文字对齐方向,可选值同css的text-align</td><td>String</td><td>“center”</td></tr><tr><td>close-on-popstate</td><td>是否在页面回退时自动关闭</td><td>Boolean</td><td>false</td></tr><tr><td>lock-scroll</td><td>背景是否锁定</td><td>Boolean</td><td>false</td></tr></tbody></table><h2>Events</h2><table><thead><tr><th>字段</th><th>说明</th><th>类型</th><th>默认值</th></tr></thead><tbody><tr><td>ok</td><td>确定按钮回调</td><td>Function</td><td>-</td></tr><tr><td>cancel</td><td>取消按钮回调</td><td>Function</td><td>-</td></tr><tr><td>closed</td><td>关闭回调,任何情况关闭弹窗都会触发</td><td>Function</td><td>-</td></tr></tbody></table><h2>Slots</h2><table><thead><tr><th>名称</th><th>说明</th></tr></thead><tbody><tr><td>header</td><td>自定义标题区域</td></tr><tr><td>default</td><td>自定义内容</td></tr><tr><td>footer</td><td>自定义底部按钮区域</td></tr></tbody></table>',14)],p={setup:(a,{expose:p})=>(p({frontmatter:{}}),(a,p)=>(n(),s("div",t,l)))};export{p as default};
|