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