From 8a0c5cbbbb7f57aef07082cb34388ecdee7360ee Mon Sep 17 00:00:00 2001 From: 刘汉宸 Date: Wed, 3 Mar 2021 14:06:42 +0800 Subject: [PATCH] feat: 修改SchemaPage组件支持抽屉 --- examples/views/docs/component/schema-page.md | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- packages/schema-page/index.scss | 26 ++++++++++++++++++++++++++ packages/schema-page/index.vue | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------ 3 files changed, 207 insertions(+), 31 deletions(-) diff --git a/examples/views/docs/component/schema-page.md b/examples/views/docs/component/schema-page.md index ecbe405..3520594 100644 --- a/examples/views/docs/component/schema-page.md +++ b/examples/views/docs/component/schema-page.md @@ -365,7 +365,7 @@ export default { ::: -## 弹窗类型 +## 自定义弹窗 除了本组件内置的`new`、`edit`、`detail`三种弹出框模式之外,还可以通过任意插槽打开任意自定义弹出框。也支持重新定义原有的三种弹框,同时也需要重新自定义表单校验和提交等逻辑。 @@ -485,6 +485,115 @@ export default { ::: +## 弹窗类型 + +弹出框组件默认为`el-dialog`,使用自定义弹窗时,可以设置为`el-drawer`。 + +::: snippet 通过`openDialog`的config参数配置`is: 'el-drawer'`即可改为抽屉式弹窗,`dialog-xxx-footer`可以设置抽屉固定的footer + +```html + + + +``` + +::: + ## 按钮权限 本组件不包含自定义业务逻辑,因此配置项不包含权限判断,如果需要按钮的权限判断,可以通过`action`插槽和`operation`插槽将渲染逻辑暴露在视图模板中,然后进行自定义判断。 diff --git a/packages/schema-page/index.scss b/packages/schema-page/index.scss index 26cf857..f9c518e 100644 --- a/packages/schema-page/index.scss +++ b/packages/schema-page/index.scss @@ -96,4 +96,30 @@ margin-top: 10px; } } +} + +.z-schema-page__drawer { + .el-drawer__header { + padding-bottom: 10px; + margin-bottom: 0; + border-bottom: 1px solid #DCDFE6; + } + .el-drawer__body { + box-sizing: border-box; + height: calc(100vh - 55px); + } + &-content { + padding: 20px; + overflow-y: auto; + } + &-footer { + height: 60px; + display: flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + padding: 10px; + background: #fff; + border-top: 1px solid #DCDFE6; + } } \ No newline at end of file diff --git a/packages/schema-page/index.vue b/packages/schema-page/index.vue index 2b585eb..aba7ce5 100644 --- a/packages/schema-page/index.vue +++ b/packages/schema-page/index.vue @@ -75,19 +75,32 @@ - + + + + + -