Commit 720fb75f36d2f881091c03dd4b871589070a7e71

Authored by Aaron
1 parent 1ade0c0e
Exists in master and in 1 other branch legacy

修复Search默认值

packages/scheme/index.vue
@@ -81,7 +81,7 @@ @@ -81,7 +81,7 @@
81 <div class="eagle-scheme"> 81 <div class="eagle-scheme">
82 <div v-if="option.showSearch !== false" class="eagle-scheme__card"> 82 <div v-if="option.showSearch !== false" class="eagle-scheme__card">
83 <!-- 搜索表单 --> 83 <!-- 搜索表单 -->
84 - <component :is="_searchComponent" :list="_searchList" v-model="searchModel" :span="searchProps.span || 6" :formProps="searchProps" @search="value => handleSearch(value, true)" :searching="tableLoading"> 84 + <component :is="_searchComponent" :list="_searchList" v-model="searchModel" :span="searchProps.span || 6" :showNumber="searchProps.showNumber" :formProps="searchProps" @search="value => handleSearch(value, true)" :searching="tableLoading">
85 <!-- 搜索表单项具名插槽 --> 85 <!-- 搜索表单项具名插槽 -->
86 <template v-for="item in _searchList"> 86 <template v-for="item in _searchList">
87 <slot v-if="$scopedSlots[`search-${item.key}`] || $slots[`search-${item.key}`]" :name="`search-${item.key}`" :slot="item.key" :model="searchModel"></slot> 87 <slot v-if="$scopedSlots[`search-${item.key}`] || $slots[`search-${item.key}`]" :name="`search-${item.key}`" :slot="item.key" :model="searchModel"></slot>
packages/search/index.vue
@@ -63,7 +63,9 @@ export default { @@ -63,7 +63,9 @@ export default {
63 span: { 63 span: {
64 type: Number, 64 type: Number,
65 default: 6 65 default: 6
66 - } 66 + },
  67 + // 表单折叠情况下显示数量
  68 + showNumber: Number,
67 }, 69 },
68 data() { 70 data() {
69 return { 71 return {
@@ -78,11 +80,19 @@ export default { @@ -78,11 +80,19 @@ export default {
78 this.initModel(this.list); 80 this.initModel(this.list);
79 }, 81 },
80 mounted() { 82 mounted() {
81 - this.setModelValue(this.value); 83 + this.setModelValue(this.value, true);
82 }, 84 },
83 computed: { 85 computed: {
  86 + // 配置列表键值对形式
  87 + listKeySet() {
  88 + let result = {};
  89 + this.list.forEach(item => {
  90 + result[item.key] = item;
  91 + });
  92 + return result;
  93 + },
84 visibleColNum() { 94 visibleColNum() {
85 - return 24 / this.span; 95 + return this.showNumber ? this.showNumber + 1 : 24 / this.span;
86 } 96 }
87 }, 97 },
88 watch: { 98 watch: {
@@ -104,10 +114,16 @@ export default { @@ -104,10 +114,16 @@ export default {
104 }, 114 },
105 methods: { 115 methods: {
106 // 设置表单值 116 // 设置表单值
107 - setModelValue(value) {  
108 - Object.keys(this.model).forEach(key => {  
109 - this.model[key] = value ? value[key] : undefined;  
110 - }); 117 + setModelValue(value, isInit) {
  118 + if (isInit) {
  119 + Object.keys(this.listKeySet).forEach(key => {
  120 + this.model[key] = this.listKeySet[key] ? this.listKeySet[key].default : undefined;
  121 + });
  122 + } else {
  123 + Object.keys(this.model).forEach(key => {
  124 + this.model[key] = value ? value[key] : undefined;
  125 + });
  126 + }
111 }, 127 },
112 // 绑定提示组件参数 128 // 绑定提示组件参数
113 bindItemTip(tip) { 129 bindItemTip(tip) {
@@ -174,8 +190,8 @@ export default { @@ -174,8 +190,8 @@ export default {
174 }, 190 },
175 // 重置表单 191 // 重置表单
176 handleReset() { 192 handleReset() {
177 - Object.keys(this.model).forEach(key => {  
178 - this.model[key] = this.list[key] ? this.list[key].default : undefined; 193 + Object.keys(listObj).forEach(key => {
  194 + this.model[key] = this.listKeySet[key] ? this.listKeySet[key].default : undefined;
179 }); 195 });
180 this.$nextTick(() => { 196 this.$nextTick(() => {
181 this.$refs.search.clearValidate(); 197 this.$refs.search.clearValidate();