# Dialog 弹窗
弹窗一个模态框供用户操作。
# 基础使用
Dialog 弹出一个对话框,适合需要定制性更大的场景。
这是个标题
这是一段信息
Dialog组件需设置ref
属性,通过$refs.[refName].show()||hide()
来控制Dialog打开关闭。Dialog 分为两个部分:header、body和footer。title属性用于定义标题,它是可选的,默认值为空。
<j-button type="link" @click="$refs.jDialog1.show()">点击打开 Dialog</j-button>
<j-dialog ref="jDialog1"
title="这是个标题"
style="width:520px;height:380px;">
<div slot="body" style="padding:20px">这是一段信息</div>
<div slot="footer">
<j-button type="primary" @click="$refs.jDialog1.hide()">确认</j-button>
<j-button type="default" @click="$refs.jDialog1.hide()">取消</j-button>
</div>
</j-dialog>
显示代码 复制代码 复制代码
# 自定义标头及标尾
Dialog 支持自定义您的标头
这是一段信息
这是一段信息
这是一段信息
Dialog 的头部可以通过titel
属性传递字符串展示标头,也可通过slot="header"
自定义您的标头,当title
及slot="header"
为空时则不展示标头,当slot="footer"
为空时则不展示标头。
<j-button type="link" @click="$refs.jDialog2.show()">自定义标头</j-button>
<j-button type="link" @click="$refs.jDialog3.show()">无标头</j-button>
<j-dialog ref="jDialog2"
style="width:520px;height:380px;">
<div slot="header" style="color:red">
<i class="j-icon icon-jiaobiao"></i><span >这是一段信息</span>
</div>
<div slot="body" style="padding:20px">这是一段信息</div>
</j-dialog>
<j-dialog ref="jDialog3"
style="width:520px;height:380px;">
<div slot="body" style="padding:20px">这是一段信息</div>
<div slot="footer">
<j-button type="primary" @click="$refs.jDialog3.hide()">关闭</j-button>
</div>
</j-dialog>
显示代码 复制代码 复制代码
# 自定义标头
Dialog 组件的内容可以是任意的
表格
1 | ![]() | A | 2023-1-1 | confirmed | 123 |
2 | ![]() | B | 2023-1-1 | confirmed | 124 |
3 | ![]() | C | 2023-1-1 | confirmed | 125 |
4 | ![]() | A | 2023-1-1 | confirmed | 126 |
5 | ![]() | B | 2023-1-1 | confirmed | 127 |
6 | ![]() | C | 2023-1-1 | confirmed | 128 |
每页记录数
10
50
200
共
0
条
1
/
0
页
表单
这是一段信息
页面
这是一段信息
<j-button type="link" @click="$refs.jDialog4.show()">嵌套表格</j-button>
<j-button type="link" @click="$refs.jDialog5.show()">嵌套表单</j-button>
<j-button type="link" @click="$refs.jDialog6.show()">嵌套页面</j-button>
<j-dialog ref="jDialog4"
title="表格"
style="width:560px;height:420px;">
<div slot="body" style="padding:10px">
<j-table
:data-page="{
PageSize: 10,
PageSizes: [
50,
200
], PageCount: 0,
PageIndex: 1,
DataCount: 0
}"
style="height:362px;width:100%"
class="large"
:col-config="colConfig"
:data="list"
/>
</div>
</j-dialog>
<j-dialog ref="jDialog5"
title="表单"
style="width:520px;height:380px;">
<div slot="body" style="padding:20px">这是一段信息</div>
<div slot="footer">
<j-button type="primary" @click="$refs.jDialog5.hide()">确认</j-button>
<j-button type="default" @click="$refs.jDialog5.hide()">取消</j-button>
</div>
</j-dialog>
<j-dialog ref="jDialog6"
title="页面"
style="width:520px;height:380px;">
<div slot="body" style="padding:20px">这是一段信息</div>
<div slot="footer">
<j-button type="primary" @click="$refs.jDialog6.hide()">确认</j-button>
<j-button type="default" @click="$refs.jDialog6.hide()">取消</j-button>
</div>
</j-dialog>
<script>
export default {
data() {
return {
list: [
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'A', i_id: '2023-1-1', status: 'confirmed', $checked: true, end_datetime: '', sku_id: 123, pv: '' },
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'B', i_id: '2023-1-1', status: 'confirmed', end_datetime: '', sku_id: 124, pv: '' },
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'C', i_id: '2023-1-1', status: 'confirmed', end_datetime: '', sku_id: 125, pv: '' },
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'A', i_id: '2023-1-1', status: 'confirmed', end_datetime: '', sku_id: 126, pv: '' },
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'B', i_id: '2023-1-1', status: 'confirmed', end_datetime: '', sku_id: 127, pv: '' },
{ pic: 'https://img.alicdn.com/top/i1/TB1yPMWIrGYBuNjy0FoSuwiBFXa.jpg', name: 'C', i_id: '2023-1-1', status: 'confirmed', end_datetime: '', sku_id: 128, pv: '' }
],
colConfig: [
{
name: 'pic',
label: '图片',
template: 'image',
width: '60px'
},
{
name: 'name',
label: '名称',
width: '140px'
},
{
name: 'i_id',
label: 'i_id',
width: '100px'
},
{
name: 'status',
label: 'status',
width: '100px'
},
{
name: 'sku_id',
label: 'sku_id',
width: '60px'
}
],
};
},
methods: {
}
};
</script>
显示代码 复制代码 复制代码
# 弹出位置
Dialog 弹出到自己适合的位置。
自定义弹出位置
距离页面左边这是个标题
这是一段信息
Dialog组件需设置ref
属性,通过$refs.[refName].show()||hide()
来控制Dialog打开关闭。Dialog 分为两个部分:header、body和footer。title属性用于定义标题,它是可选的,默认值为空。
<j-button type="link" @click="dialogPosition='center';$refs.jDialog7.show()">居中</j-button>
<j-button type="link" @click="dialogPosition='top';$refs.jDialog7.show()">居上</j-button>
<j-button type="link" @click="dialogPosition='right';$refs.jDialog7.show()">居右</j-button>
<j-button type="link" @click="dialogPosition='bottom';$refs.jDialog7.show()">居下</j-button>
<j-button type="link" @click="dialogPosition='left';$refs.jDialog7.show()">居左</j-button>
<j-row style="margin-top:20px">
<p>自定义弹出位置</p>
<span>距离页面左边</span>
<j-input v-model="dialogPositionLeft" style="width:50px"></j-input>px
<span>距离页面顶部</span>
<j-input v-model="dialogPositionTop" style="width:50px"></j-input>px
<j-button type="link" @click="dialogPosition='location';$refs.jDialog7.left=dialogPositionLeft+'px';$refs.jDialog7.top=dialogPositionTop+'px';$refs.jDialog7.show()">弹出</j-button>
</j-row>
<j-dialog ref="jDialog7"
title="这是个标题"
:position="dialogPosition"
style="width:520px;height:380px;">
<div slot="body" style="padding:20px">这是一段信息</div>
<div slot="footer">
<j-button type="primary" @click="$refs.jDialog7.hide()">确认</j-button>
<j-button type="default" @click="$refs.jDialog7.hide()">取消</j-button>
</div>
</j-dialog>
<script>
export default {
data() {
return {
dialogPositionLeft:'',
dialogPositionTop:'',
dialogPosition:'center'
};
},
methods: {
}
};
</script>
显示代码 复制代码 复制代码
# Dialog Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
position | Dialog弹出的位置 | String | top,left,bottom,right,center,location | center |
title | 标头文字 | string | - | — |
icon | 标头文字前面的icon | string | — | — |
header-border-bottom | 标头下划线 | string | 传空时可取消标头下划线 | - |
footer-border-top | 标尾上划线 | string | 传空时可取消标尾上划线 | - |
show-mask | 是否展示遮罩层 | boolean | — | true |
closeAble | 是否显示关闭按钮 | boolean | — | true |
autoHeight | Dialog body高度自动 | boolean | — | false |
beforeClose | 弹窗关闭之前的回调 | Function | — | - |
# Dialog Events
事件名 | 说明 | 参数 |
---|---|---|
show | Dialog 弹出后执行的函数 | Dialog实例(this) |
close | Dialog 关闭后执行的函数 | Dialog实例(this) |
# Dialog Methods
方法名 | 说明 | 参数 |
---|---|---|
show | Dialog 弹出 | |
hide | Dialog 关闭 |
← MessageBox 弹框 List 列表 →