diff --git a/packages/schema-filter/index.vue b/packages/schema-filter/index.vue index 45a49d4..0698a64 100644 --- a/packages/schema-filter/index.vue +++ b/packages/schema-filter/index.vue @@ -6,7 +6,7 @@ 查询 重置 - {{ collapsed ? '收起' : '展开' }} + {{ isCollapsed ? '收起' : '展开' }} @@ -31,12 +31,13 @@ export default { loading: Boolean, display: Number, span: Number, + collapsed: Boolean, collapsedSpan: Number, uncollapsedSpan: Number, }, data() { return { - collapsed: false, + isCollapsed: this.collapsed, model: this.value, originData: {}, }; @@ -48,6 +49,9 @@ export default { model(val) { this.$emit('input', val); }, + collapsed(val) { + this.isCollapsed = val; + }, }, computed: { _display() { @@ -74,7 +78,7 @@ export default { const result = []; const visibleNumber = this._display - 1; items.forEach((item, index) => { - if (!this.collapsed && index > visibleNumber && index < items.length) { + if (!this.isCollapsed && index > visibleNumber && index < items.length) { result.push({ ...item, if: true, show: false }); } else { result.push({ ...item, if: true, show: true }); @@ -95,7 +99,7 @@ export default { return this.formattedItems.length % this.rowItemCount; }, operationSpan() { - if (this.collapsed) { + if (this.isCollapsed) { if (this._collapsedSpan) { return this._collapsedSpan; } @@ -125,7 +129,7 @@ export default { search: this.onSearch, reset: this.onReset, collapse: this.onCollapse, - collapsed: this.collapsed, + collapsed: this.isCollapsed, loading: this.loading, }; }, @@ -151,7 +155,8 @@ export default { }, // 折叠 onCollapse() { - this.collapsed = !this.collapsed; + this.isCollapsed = !this.isCollapsed; + this.$emit('update:collapsed', this.isCollapsed); }, }, }; diff --git a/packages/schema-page/index.vue b/packages/schema-page/index.vue index 6f1cd1b..601e5aa 100644 --- a/packages/schema-page/index.vue +++ b/packages/schema-page/index.vue @@ -9,12 +9,23 @@ -
- - - +
+ + + + +
@@ -182,7 +193,7 @@ setKeysDefault(['value-table'], { }, }); setKeysDefault(['size', 'dialogTitle', 'dialogType'], String); -setKeysDefault(['dialogVisible', 'auto', 'loading'], Boolean); +setKeysDefault(['dialogVisible', 'auto', 'loading', 'collapsed'], Boolean); setKeysDefault(['api-search', 'api-submit', 'api-new', 'api-edit', 'api-get', 'api-detail', 'api-delete'], Function); export default { @@ -268,7 +279,7 @@ export default { return this.size || get(this.schema, 'props.size') || (this.$ELEMENT || {}).size; }, _slotScope() { - const properties = ['selection', 'currentPage', 'pageSizes', 'pageSize', 'layout', 'total']; + const properties = ['selection', 'currentPage', 'pageSizes', 'pageSize', 'layout', 'total', 'collapsed']; const methods = [ 'search', 'onSearch', diff --git a/packages/table/editable.vue b/packages/table/editable.vue index 0dee2f3..99efbb6 100644 --- a/packages/table/editable.vue +++ b/packages/table/editable.vue @@ -27,15 +27,7 @@