Commit 720fb75f36d2f881091c03dd4b871589070a7e71
1 parent
1ade0c0e
Exists in
master
and in
1 other branch
修复Search默认值
Showing
2 changed files
with
26 additions
and
10 deletions
Show diff stats
packages/scheme/index.vue
| ... | ... | @@ -81,7 +81,7 @@ |
| 81 | 81 | <div class="eagle-scheme"> |
| 82 | 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 | 86 | <template v-for="item in _searchList"> |
| 87 | 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 | 63 | span: { |
| 64 | 64 | type: Number, |
| 65 | 65 | default: 6 |
| 66 | - } | |
| 66 | + }, | |
| 67 | + // 表单折叠情况下显示数量 | |
| 68 | + showNumber: Number, | |
| 67 | 69 | }, |
| 68 | 70 | data() { |
| 69 | 71 | return { |
| ... | ... | @@ -78,11 +80,19 @@ export default { |
| 78 | 80 | this.initModel(this.list); |
| 79 | 81 | }, |
| 80 | 82 | mounted() { |
| 81 | - this.setModelValue(this.value); | |
| 83 | + this.setModelValue(this.value, true); | |
| 82 | 84 | }, |
| 83 | 85 | computed: { |
| 86 | + // 配置列表键值对形式 | |
| 87 | + listKeySet() { | |
| 88 | + let result = {}; | |
| 89 | + this.list.forEach(item => { | |
| 90 | + result[item.key] = item; | |
| 91 | + }); | |
| 92 | + return result; | |
| 93 | + }, | |
| 84 | 94 | visibleColNum() { |
| 85 | - return 24 / this.span; | |
| 95 | + return this.showNumber ? this.showNumber + 1 : 24 / this.span; | |
| 86 | 96 | } |
| 87 | 97 | }, |
| 88 | 98 | watch: { |
| ... | ... | @@ -104,10 +114,16 @@ export default { |
| 104 | 114 | }, |
| 105 | 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 | 129 | bindItemTip(tip) { |
| ... | ... | @@ -174,8 +190,8 @@ export default { |
| 174 | 190 | }, |
| 175 | 191 | // 重置表单 |
| 176 | 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 | 196 | this.$nextTick(() => { |
| 181 | 197 | this.$refs.search.clearValidate(); | ... | ... |