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,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(); |