Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
京东前端
nutui
提交
6accb0c6
N
nutui
项目概览
京东前端
/
nutui
通知
37
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
nutui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6accb0c6
编写于
11月 26, 2021
作者:
richard_1015
1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(dialog): add props footer-direction
上级
51446ce5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
139 addition
and
108 deletion
+139
-108
src/packages/__VUE/dialog/demo.vue
src/packages/__VUE/dialog/demo.vue
+28
-5
src/packages/__VUE/dialog/doc.md
src/packages/__VUE/dialog/doc.md
+35
-22
src/packages/__VUE/dialog/doc.taro.md
src/packages/__VUE/dialog/doc.taro.md
+29
-17
src/packages/__VUE/dialog/index.scss
src/packages/__VUE/dialog/index.scss
+17
-0
src/packages/__VUE/dialog/index.taro.vue
src/packages/__VUE/dialog/index.taro.vue
+6
-27
src/packages/__VUE/dialog/index.vue
src/packages/__VUE/dialog/index.vue
+5
-17
src/sites/mobile-taro/vue/src/feedback/pages/dialog/index.vue
...sites/mobile-taro/vue/src/feedback/pages/dialog/index.vue
+19
-20
未找到文件。
src/packages/__VUE/dialog/demo.vue
浏览文件 @
6accb0c6
...
...
@@ -4,8 +4,9 @@
<nut-cell
title=
"基础弹框"
@
click=
"baseClick"
></nut-cell>
<nut-cell
title=
"无标题弹框"
@
click=
"noTitleClick"
></nut-cell>
<nut-cell
title=
"提示弹框"
@
click=
"tipsClick"
></nut-cell>
<nut-cell
title=
"底部按钮 垂直调用"
@
click=
"verticalClick"
></nut-cell>
</nut-cell-group>
<nut-cell-group
title=
"标签式
调
用"
>
<nut-cell-group
title=
"标签式
使
用"
>
<nut-cell
title=
"组件调用"
@
click=
"componentClick"
></nut-cell>
<nut-dialog
teleport=
"#app"
...
...
@@ -14,14 +15,20 @@
v-model:visible=
"visible"
>
</nut-dialog>
<nut-cell
title=
"底部按钮 垂直使用"
@
click=
"componentvVrticalClick"
></nut-cell>
<nut-dialog
footer-direction=
"vertical"
teleport=
"#app"
title=
"组件调用"
content=
"如果需要在弹窗内嵌入组件或其他自定义内容,可以使用组件调用的方式。"
v-model:visible=
"visible1"
>
</nut-dialog>
</nut-cell-group>
<nut-cell-group
title=
"teleport 使用,挂载到指定节点"
>
<nut-cell
title=
"body 节点下"
@
click=
"teleportClick('body')"
></nut-cell>
<nut-cell
title=
"#app 节点下"
@
click=
"teleportClick('#app')"
></nut-cell>
<nut-cell
title=
"demo class 元素节点下"
@
click=
"teleportClick('.demo')"
></nut-cell>
<nut-cell
title=
"demo class 元素节点下"
@
click=
"teleportClick('.demo')"
></nut-cell>
</nut-cell-group>
</div>
</
template
>
...
...
@@ -34,6 +41,7 @@ import { Dialog } from '@/packages/nutui.vue';
export
default
createDemo
({
setup
()
{
const
visible
=
ref
(
false
);
const
visible1
=
ref
(
false
);
const
onCancel
=
()
=>
{
console
.
log
(
'
event cancel
'
);
...
...
@@ -66,10 +74,22 @@ export default createDemo({
onOk
});
};
const
verticalClick
=
()
=>
{
Dialog
({
title
:
'
温馨提示
'
,
content
:
'
支持底部按钮纵向排列。
'
,
footerDirection
:
'
vertical
'
,
onCancel
,
onOk
});
};
const
componentClick
=
()
=>
{
visible
.
value
=
true
;
};
const
componentvVrticalClick
=
()
=>
{
visible1
.
value
=
true
;
};
const
teleportClick
=
(
teleport
:
string
)
=>
{
Dialog
({
...
...
@@ -83,10 +103,13 @@ export default createDemo({
return
{
visible
,
visible1
,
baseClick
,
noTitleClick
,
componentClick
,
componentvVrticalClick
,
tipsClick
,
verticalClick
,
teleportClick
};
}
...
...
src/packages/__VUE/dialog/doc.md
浏览文件 @
6accb0c6
...
...
@@ -35,6 +35,12 @@ Dialog({
content
:
'
支持函数调用和组件调用两种方式。
'
,
noCancelBtn
:
true
,
});
Dialog
({
title
:
'
温馨提示
'
,
content
:
'
支持底部按钮纵向排列。
'
,
footerDirection
:
"
vertical
"
});
```
...
...
@@ -73,7 +79,10 @@ setup(){
## 标签式组件使用
```
html
<nut-dialog
:title=
"title"
:close-on-click-overlay=
"false"
:content=
"content"
v-model:visible=
"visible"
></nut-dialog>
<nut-cell
title=
"标签式使用使用"
@
click=
"componentClick"
></nut-cell>
<nut-cell
title=
"底部按钮垂直使用"
@
click=
"componentvVrticalClick"
></nut-cell>
<nut-dialog
title=
"标签式使用"
:close-on-click-overlay=
"false"
content=
"内容"
v-model:visible=
"visible"
></nut-dialog>
<nut-dialog
title=
"标签式使用"
footer-direction=
"vertical"
:close-on-click-overlay=
"false"
content=
"内容"
v-model:visible=
"visible1"
></nut-dialog>
```
```
javascript
...
...
@@ -82,10 +91,14 @@ import { Dialog } from '@nutui/nutui';
export
default
{
setup
()
{
const
visible
=
ref
(
true
);
const
title
=
'
标签式使用
'
;
const
content
=
'
内容
'
;
return
{
visible
,
title
,
content
};
const
visible1
=
ref
(
true
);
const
componentClick
=
()
=>
{
visible
.
value
=
true
;
};
const
componentvVrticalClick
=
()
=>
{
visible1
.
value
=
true
;
};
return
{
visible
,
visible1
,
componentClick
,
componentvVrticalClick
};
},
};
```
...
...
@@ -115,23 +128,23 @@ export default {
## Props
| 字段 | 说明
| 类型 | 默认值
|
|------------------------|---------------------------------------
|---------|
----------|
| title | 标题
| String | -
|
| content | 内容,支持HTML
| String | -
|
| teleport | 指定挂载节点
| String | "body"
|
| close-on-click-overlay | 点击蒙层是否关闭对话框
| Boolean | false
|
| no-footer | 是否隐藏底部按钮栏
| Boolean | false
|
| no-ok-btn | 是否隐藏确定按钮
| Boolean | false
|
| no-cancel-btn | 是否隐藏取消按钮
| Boolean | false
|
| cancel-text | 取消按钮文案
| String | ”取消“
|
| ok-text | 确定按钮文案
| String | ”确 定“
|
| ok-btn-disabled | 禁用确定按钮
| Boolean | false
|
| cancel-auto-close | 取消按钮是否默认关闭弹窗
| Boolean | true
|
| text-align | 文字对齐方向,可选值同css的text-align
| String | "center"
|
| close-on-popstate | 是否在页面回退时自动关闭
| Boolean | false
|
| lock-scroll | 背景是否锁定
| Boolean | false
|
| 字段 | 说明
| 类型 | 默认值
|
|------------------------|---------------------------------------
---|---------|--
----------|
| title | 标题
| String | -
|
| content | 内容,支持HTML
| String | -
|
| teleport | 指定挂载节点
| String | "body"
|
| close-on-click-overlay | 点击蒙层是否关闭对话框
| Boolean | false
|
| no-footer | 是否隐藏底部按钮栏
| Boolean | false
|
| no-ok-btn | 是否隐藏确定按钮
| Boolean | false
|
| no-cancel-btn | 是否隐藏取消按钮
| Boolean | false
|
| cancel-text | 取消按钮文案
| String | ”取消“
|
| ok-text | 确定按钮文案
| String | ”确 定“
|
| ok-btn-disabled | 禁用确定按钮
| Boolean | false
|
| cancel-auto-close | 取消按钮是否默认关闭弹窗
| Boolean | true
|
| text-align | 文字对齐方向,可选值同css的text-align
| String | "center"
|
| close-on-popstate | 是否在页面回退时自动关闭
| Boolean | false
|
| lock-scroll | 背景是否锁定
| Boolean | false
|
| footer-direction | 使用横纵方向 可选值 horizontal、vertical | string | horizontal |
## Events
...
...
src/packages/__VUE/dialog/doc.taro.md
浏览文件 @
6accb0c6
...
...
@@ -27,6 +27,9 @@ app.use(Dialog);
<nut-cell
title=
"提示弹框"
@
click=
"tipsClick"
></nut-cell>
<nut-dialog
no-cancel-btn
title=
"温馨提示"
content=
"这是提示弹框。"
v-model:visible=
"visible3"
@
cancel=
"onCancel"
@
ok=
"onOk"
/>
<nut-cell
title=
"底部按钮 垂直调用"
@
click=
"verticalClick"
></nut-cell>
<nut-dialog
footer-direction=
"vertical"
teleport=
"#app"
title=
"温馨提示"
content=
"这是提示弹框。"
v-model:visible=
"visible5"
/>
<nut-cell
title=
"异步关闭"
@
click=
"componentClick"
></nut-cell>
<nut-dialog
title=
"异步关闭"
:content=
"closeContent"
:visible=
"visible4"
@
cancel=
"onCancel"
@
ok=
"onOkAsync"
/>
```
...
...
@@ -39,6 +42,7 @@ export default {
const
visible2
=
ref
(
false
);
const
visible3
=
ref
(
false
);
const
visible4
=
ref
(
false
);
const
visible5
=
ref
(
false
);
const
closeContent
=
ref
(
''
);
const
sleep
=
()
=>
new
Promise
((
resolve
)
=>
setTimeout
(
resolve
,
1000
));
const
countDown
=
(
second
:
number
)
=>
`倒计时
${
second
}
秒`
;
...
...
@@ -82,11 +86,17 @@ export default {
visible4
.
value
=
true
;
};
const
verticalClick
=
()
=>
{
visible5
.
value
=
true
;
};
return
{
visible1
,
visible2
,
visible3
,
visible4
,
visible5
,
onCancel
,
onOk
,
closeContent
,
...
...
@@ -94,7 +104,8 @@ export default {
baseClick
,
noTitleClick
,
componentClick
,
tipsClick
tipsClick
,
verticalClick
};
}
};
...
...
@@ -103,22 +114,23 @@ export default {
## Props
| 字段 | 说明 | 类型 | 默认值 |
|------------------------|---------------------------------------|---------|----------|
| title | 标题 | String | - |
| content | 内容,支持HTML | String | - |
| teleport | 指定挂载节点 | String | "body" |
| close-on-click-overlay | 点击蒙层是否关闭对话框 | Boolean | false |
| no-footer | 是否隐藏底部按钮栏 | Boolean | false |
| no-ok-btn | 是否隐藏确定按钮 | Boolean | false |
| no-cancel-btn | 是否隐藏取消按钮 | Boolean | false |
| cancel-text | 取消按钮文案 | String | ”取消“ |
| ok-text | 确定按钮文案 | String | ”确 定“ |
| ok-btn-disabled | 禁用确定按钮 | Boolean | false |
| cancel-auto-close | 取消按钮是否默认关闭弹窗 | Boolean | true |
| text-align | 文字对齐方向,可选值同css的text-align | String | "center" |
| close-on-popstate | 是否在页面回退时自动关闭 | Boolean | false |
| lock-scroll | 背景是否锁定 | Boolean | false |
| 字段 | 说明 | 类型 | 默认值 |
|------------------------|------------------------------------------|---------|------------|
| title | 标题 | String | - |
| content | 内容,支持HTML | String | - |
| teleport | 指定挂载节点 | String | "body" |
| close-on-click-overlay | 点击蒙层是否关闭对话框 | Boolean | false |
| no-footer | 是否隐藏底部按钮栏 | Boolean | false |
| no-ok-btn | 是否隐藏确定按钮 | Boolean | false |
| no-cancel-btn | 是否隐藏取消按钮 | Boolean | false |
| cancel-text | 取消按钮文案 | String | ”取消“ |
| ok-text | 确定按钮文案 | String | ”确 定“ |
| ok-btn-disabled | 禁用确定按钮 | Boolean | false |
| cancel-auto-close | 取消按钮是否默认关闭弹窗 | Boolean | true |
| text-align | 文字对齐方向,可选值同css的text-align | String | "center" |
| close-on-popstate | 是否在页面回退时自动关闭 | Boolean | false |
| lock-scroll | 背景是否锁定 | Boolean | false |
| footer-direction | 使用横纵方向 可选值 horizontal、vertical | string | horizontal |
## Events
...
...
src/packages/__VUE/dialog/index.scss
浏览文件 @
6accb0c6
...
...
@@ -34,6 +34,23 @@
width
:
100%
;
justify-content
:
space-around
;
&
.horizontal
{
}
&
.vertical
{
flex-direction
:
column
;
.nut-button
{
min-width
:
100%
;
margin
:
0
;
&
.nut-dialog__footer-cancel
{
border
:
0
;
}
&
.nut-dialog__footer-ok
{
margin-top
:
10px
;
}
}
}
.nut-button
{
min-width
:
100px
;
}
...
...
src/packages/__VUE/dialog/index.taro.vue
浏览文件 @
6accb0c6
...
...
@@ -19,7 +19,7 @@
<view
v-else
v-html=
"content"
></view>
</view>
<view
class=
"nut-dialog__footer"
v-if=
"!noFooter"
>
<view
class=
"nut-dialog__footer"
:class=
"{ [footerDirection]: footerDirection }"
v-if=
"!noFooter"
>
<slot
v-if=
"$slots.footer"
name=
"footer"
></slot>
<
template
v-else
>
<nut-button
...
...
@@ -106,37 +106,16 @@ export default create({
type
:
String
,
default
:
'
center
'
},
onOk
:
{
type
:
Function
,
default
:
null
},
onCancel
:
{
type
:
Function
,
default
:
null
},
onClose
:
{
type
:
Function
,
default
:
null
},
onClosed
:
{
type
:
Function
,
default
:
null
},
closeOnPopstate
:
{
type
:
Boolean
,
default
:
false
},
footerDirection
:
{
type
:
String
,
default
:
'
horizontal
'
//vertical
}
},
emits
:
[
'
update
'
,
'
update:visible
'
,
'
ok
'
,
'
cancel
'
,
'
open
'
,
'
opened
'
,
'
close
'
,
'
closed
'
],
emits
:
[
'
update
'
,
'
update:visible
'
,
'
ok
'
,
'
cancel
'
,
'
open
'
,
'
opened
'
,
'
close
'
,
'
closed
'
],
setup
(
props
,
{
emit
})
{
const
showPopup
=
ref
(
props
.
visible
);
onMounted
(()
=>
{
...
...
src/packages/__VUE/dialog/index.vue
浏览文件 @
6accb0c6
...
...
@@ -19,7 +19,7 @@
<view
v-else
v-html=
"content"
></view>
</view>
<view
class=
"nut-dialog__footer"
v-if=
"!noFooter"
>
<view
class=
"nut-dialog__footer"
:class=
"{ [footerDirection]: footerDirection }"
v-if=
"!noFooter"
>
<slot
v-if=
"$slots.footer"
name=
"footer"
></slot>
<
template
v-else
>
<nut-button
...
...
@@ -106,25 +106,13 @@ export default create({
type
:
String
,
default
:
'
center
'
},
onOk
:
{
type
:
Function
,
default
:
null
},
onCancel
:
{
type
:
Function
,
default
:
null
},
onClose
:
{
type
:
Function
,
default
:
null
},
onClosed
:
{
type
:
Function
,
default
:
null
},
closeOnPopstate
:
{
type
:
Boolean
,
default
:
false
},
footerDirection
:
{
type
:
String
,
default
:
'
horizontal
'
//vertical
}
},
emits
:
[
'
update
'
,
'
update:visible
'
,
'
ok
'
,
'
cancel
'
,
'
open
'
,
'
opened
'
,
'
close
'
,
'
closed
'
],
...
...
src/sites/mobile-taro/vue/src/feedback/pages/dialog/index.vue
浏览文件 @
6accb0c6
<
template
>
<div
class=
"demo"
>
<nut-cell
title=
"基础弹框"
@
click=
"baseClick"
></nut-cell>
<nut-dialog
title=
"基础弹框"
content=
"这是基础弹框。"
v-model:visible=
"visible1"
@
cancel=
"onCancel"
@
ok=
"onOk"
/>
<nut-dialog
title=
"基础弹框"
content=
"这是基础弹框。"
v-model:visible=
"visible1"
@
cancel=
"onCancel"
@
ok=
"onOk"
/>
<nut-cell
title=
"无标题弹框"
@
click=
"noTitleClick"
></nut-cell>
<nut-dialog
content=
"这是无标题弹框。"
v-model:visible=
"visible2"
@
cancel=
"onCancel"
@
ok=
"onOk"
/>
<nut-dialog
content=
"这是无标题弹框。"
v-model:visible=
"visible2"
@
cancel=
"onCancel"
@
ok=
"onOk"
/>
<nut-cell
title=
"提示弹框"
@
click=
"tipsClick"
></nut-cell>
<nut-dialog
...
...
@@ -27,14 +16,17 @@
@
ok=
"onOk"
/>
<nut-cell
title=
"
异步关闭"
@
click=
"component
Click"
></nut-cell>
<nut-cell
title=
"
底部按钮 垂直使用"
@
click=
"vertical
Click"
></nut-cell>
<nut-dialog
title=
"异步关闭
"
:content=
"closeContent
"
:visible=
"visible4
"
@
cancel=
"onCancel
"
@
ok=
"onOkAsync
"
footer-direction=
"vertical
"
teleport=
"#app
"
title=
"温馨提示
"
content=
"这是提示弹框。
"
v-model:visible=
"visible5
"
/>
<nut-cell
title=
"异步关闭"
@
click=
"componentClick"
></nut-cell>
<nut-dialog
title=
"异步关闭"
:content=
"closeContent"
:visible=
"visible4"
@
cancel=
"onCancel"
@
ok=
"onOkAsync"
/>
</div>
</
template
>
<
script
lang=
"ts"
>
...
...
@@ -45,6 +37,7 @@ export default {
const
visible2
=
ref
(
false
);
const
visible3
=
ref
(
false
);
const
visible4
=
ref
(
false
);
const
visible5
=
ref
(
false
);
const
closeContent
=
ref
(
''
);
const
sleep
=
()
=>
new
Promise
((
resolve
)
=>
setTimeout
(
resolve
,
1000
));
const
countDown
=
(
second
:
number
)
=>
`倒计时
${
second
}
秒`
;
...
...
@@ -88,11 +81,16 @@ export default {
visible4
.
value
=
true
;
};
const
verticalClick
=
()
=>
{
visible5
.
value
=
true
;
};
return
{
visible1
,
visible2
,
visible3
,
visible4
,
visible5
,
onCancel
,
onOk
,
closeContent
,
...
...
@@ -100,7 +98,8 @@ export default {
baseClick
,
noTitleClick
,
componentClick
,
tipsClick
tipsClick
,
verticalClick
};
}
};
...
...
richard_1015
@u011978868
mentioned in commit
0d60f0ea
·
1月 07, 2022
mentioned in commit
0d60f0ea
mentioned in commit 0d60f0eae72dba6d3fecec1ad554b77c6356b71e
开关提交列表
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录