From bb0daa97d03d05756197bce1963def1727b8c47d Mon Sep 17 00:00:00 2001
From: Aaron <427787340@qq.com>
Date: Tue, 3 Sep 2019 14:59:23 +0800
Subject: [PATCH] Form支持分组折叠
---
examples/views/docs/component/form.md | 38 +++++++++++++++++++++++++++++++++-----
examples/views/docs/component/scheme.md | 36 ++++++++++++++++++++++++++++++++++++
packages/form/index.vue | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 120 insertions(+), 8 deletions(-)
diff --git a/examples/views/docs/component/form.md b/examples/views/docs/component/form.md
index 7320de5..050e0f3 100644
--- a/examples/views/docs/component/form.md
+++ b/examples/views/docs/component/form.md
@@ -143,11 +143,39 @@ export default {
```html
-
-
- 自定义 - {{ label }}
-
-
+
+
+
+
+```
+
+:::
+
+## 分组折叠
+
+已经分组的表单可以折叠显示
+
+::: snippet `collapse`配置折叠、`accordion`设置手风琴模式
+
+```html
+
+
+```
+
+:::
+
## 动态列
设置表格列可以动态的控制显示状态
diff --git a/packages/form/index.vue b/packages/form/index.vue
index 41dadb9..09c168b 100644
--- a/packages/form/index.vue
+++ b/packages/form/index.vue
@@ -14,12 +14,45 @@
.eagle-form__group-content {
margin: 15px 0px;
}
+.eagle-form__collapse * {
+ outline: none;
+}
-
+
+
+
+
+
+
+
+
+
+ {{ data.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -97,11 +130,22 @@ export default {
type: Boolean,
default: true
},
+ // 折叠
+ collapse: {
+ type: Boolean,
+ default: false,
+ },
+ // 折叠手风琴
+ accordion: {
+ type: Boolean,
+ default: false,
+ },
},
data() {
return {
// 编辑器表单模型
- model: {}
+ model: {},
+ activeNames: []
};
},
created() {
@@ -110,6 +154,10 @@ export default {
},
mounted() {
this.setModelValue(this.value);
+ if (this.listOption.isGroup && (this.collapse || this.formProps.collapse)) {
+ this.activeNames = this.accordion || this.formProps.accordion ? this.listOption.dataList[0].key : this.listOption.dataList.map(item => item.key);
+ console.log(this.activeNames);
+ }
},
computed: {
// 配置列表键值对形式
@@ -157,7 +205,7 @@ export default {
const isGroup = Object.keys(groupSet).length > 1;
const dataList = Object.keys(groupSet).map(key => {
return { key, ...groupSet[key] };
- })
+ });
return { isGroup, dataList };
}
},
--
libgit2 0.21.0