Commit fb8364fb126c1dcb87e30c4b6e9191bc4699c54b
1 parent
26b46b28
Exists in
master
and in
1 other branch
修复Scheme中的List分组支持自定义问题
Showing
1 changed file
with
8 additions
and
8 deletions
Show diff stats
packages/scheme/index.vue
| @@ -81,9 +81,9 @@ | @@ -81,9 +81,9 @@ | ||
| 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" :showNumber="searchProps.showNumber" :formProps="searchProps" @search="value => handleSearch(value, true)" :searching="tableLoading"> | 84 | + <component :is="_searchComponent" :list="searchList || _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 || _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> |
| 88 | <slot v-else-if="$scopedSlots[`field-${item.key}`] || $slots[`field-${item.key}`]" :name="`field-${item.key}`" :slot="item.key" :model="searchModel"></slot> | 88 | <slot v-else-if="$scopedSlots[`field-${item.key}`] || $slots[`field-${item.key}`]" :name="`field-${item.key}`" :slot="item.key" :model="searchModel"></slot> |
| 89 | </template> | 89 | </template> |
| @@ -121,7 +121,7 @@ | @@ -121,7 +121,7 @@ | ||
| 121 | }" | 121 | }" |
| 122 | ></slot> | 122 | ></slot> |
| 123 | <!-- 表格 --> | 123 | <!-- 表格 --> |
| 124 | - <component v-else :is="_tableComponent" ref="eagle-table" :list="_tableList" :value="tableData" | 124 | + <component v-else :is="_tableComponent" ref="eagle-table" :list="tableList || _tableList" :value="tableData" |
| 125 | v-loading="tableLoading" | 125 | v-loading="tableLoading" |
| 126 | element-loading-background="rgba(255, 255, 255, 0.6)" | 126 | element-loading-background="rgba(255, 255, 255, 0.6)" |
| 127 | :tableProps="{ border: true, 'row-key': 'id', ...tableProps }" | 127 | :tableProps="{ border: true, 'row-key': 'id', ...tableProps }" |
| @@ -132,7 +132,7 @@ | @@ -132,7 +132,7 @@ | ||
| 132 | > | 132 | > |
| 133 | <slot></slot> | 133 | <slot></slot> |
| 134 | <!-- 表格具名插槽 --> | 134 | <!-- 表格具名插槽 --> |
| 135 | - <template v-for="(item, index) in _tableList"> | 135 | + <template v-for="(item, index) in tableList || _tableList"> |
| 136 | <slot v-if="$scopedSlots[`table-${item.key}`] || $slots[`table-${item.key}`]" :name="`table-${item.key}`" :slot="item.key" v-bind="slotMethod"></slot> | 136 | <slot v-if="$scopedSlots[`table-${item.key}`] || $slots[`table-${item.key}`]" :name="`table-${item.key}`" :slot="item.key" v-bind="slotMethod"></slot> |
| 137 | <el-table-column v-else-if="$scopedSlots[`table-value-${item.key}`] || $slots[`table-value-${item.key}`]" :slot="item.key" :key="`column-${index}`" v-bind="item" :prop="item.agentKey || item.key" :min-width="item.minWidth || item['min-width'] || '120'"> | 137 | <el-table-column v-else-if="$scopedSlots[`table-value-${item.key}`] || $slots[`table-value-${item.key}`]" :slot="item.key" :key="`column-${index}`" v-bind="item" :prop="item.agentKey || item.key" :min-width="item.minWidth || item['min-width'] || '120'"> |
| 138 | <slot slot-scope="{ row, column, $index }" :name="`table-value-${item.key}`" v-bind="{ ...item, ...slotMethod }" :row="row" :value="row[item.key]" :column="column" :index="$index"></slot> | 138 | <slot slot-scope="{ row, column, $index }" :name="`table-value-${item.key}`" v-bind="{ ...item, ...slotMethod }" :row="row" :value="row[item.key]" :column="column" :index="$index"></slot> |
| @@ -192,7 +192,7 @@ | @@ -192,7 +192,7 @@ | ||
| 192 | :visible.sync="dialogVisible" v-bind="{ width: '65%', size: dialogComponent === 'el-drawer' ? '50%' : undefined, ...dialogProps }" | 192 | :visible.sync="dialogVisible" v-bind="{ width: '65%', size: dialogComponent === 'el-drawer' ? '50%' : undefined, ...dialogProps }" |
| 193 | > | 193 | > |
| 194 | <component :is="_formComponent" v-if="dialogType === 'dialog-form' && !$scopedSlots['dialog-form'] && !$slots['dialog-form']" | 194 | <component :is="_formComponent" v-if="dialogType === 'dialog-form' && !$scopedSlots['dialog-form'] && !$slots['dialog-form']" |
| 195 | - ref="eagle-form" :list="_formList" v-model="formModel" :params="{ formMode }" :span="formProps.span || 12" :formProps="formProps" | 195 | + ref="eagle-form" :list="formList || _formList" v-model="formModel" :params="{ formMode }" :span="formProps.span || 12" :formProps="formProps" |
| 196 | @submit="handleSubmit" @cancel="handleCancel" :style="dialogComponent === 'el-drawer' ? 'padding: 0 50px 0 10px;' : undefined" | 196 | @submit="handleSubmit" @cancel="handleCancel" :style="dialogComponent === 'el-drawer' ? 'padding: 0 50px 0 10px;' : undefined" |
| 197 | > | 197 | > |
| 198 | <!-- 表单分组具名插槽 --> | 198 | <!-- 表单分组具名插槽 --> |
| @@ -200,19 +200,19 @@ | @@ -200,19 +200,19 @@ | ||
| 200 | <slot v-if="$scopedSlots[`form-${key}`] || $slots[`form-${key}`]" :name="`form-${key}`" :slot="key" :model="formModel"></slot> | 200 | <slot v-if="$scopedSlots[`form-${key}`] || $slots[`form-${key}`]" :name="`form-${key}`" :slot="key" :model="formModel"></slot> |
| 201 | </template> | 201 | </template> |
| 202 | <!-- 表单项具名插槽 --> | 202 | <!-- 表单项具名插槽 --> |
| 203 | - <template v-for="item in _formList"> | 203 | + <template v-for="item in formList || _formList"> |
| 204 | <slot v-if="$scopedSlots[`form-item-${item.key}`] || $slots[`form-item-${item.key}`]" :name="`form-item-${item.key}`" :slot="`item-${item.key}`" :model="formModel"></slot> | 204 | <slot v-if="$scopedSlots[`form-item-${item.key}`] || $slots[`form-item-${item.key}`]" :name="`form-item-${item.key}`" :slot="`item-${item.key}`" :model="formModel"></slot> |
| 205 | <slot v-else-if="$scopedSlots[`field-${item.key}`] || $slots[`field-${item.key}`]" :name="`field-${item.key}`" :slot="`item-${item.key}`" :model="formModel"></slot> | 205 | <slot v-else-if="$scopedSlots[`field-${item.key}`] || $slots[`field-${item.key}`]" :name="`field-${item.key}`" :slot="`item-${item.key}`" :model="formModel"></slot> |
| 206 | <slot v-if="$scopedSlots[`form-label-${item.key}`] || $slots[`form-label-${item.key}`]" :name="`form-label-${item.key}`" :slot="`label-${item.key}`" :model="formModel" v-bind="item"></slot> | 206 | <slot v-if="$scopedSlots[`form-label-${item.key}`] || $slots[`form-label-${item.key}`]" :name="`form-label-${item.key}`" :slot="`label-${item.key}`" :model="formModel" v-bind="item"></slot> |
| 207 | </template> | 207 | </template> |
| 208 | </component> | 208 | </component> |
| 209 | - <component :is="_detailComponent" v-else-if="dialogType === 'dialog-view' && !$scopedSlots['dialog-view'] && !$slots['dialog-view']" v-model="formModel" :list="list || detailList || _formList" :span="detailProps.span || dialogComponent === 'el-drawer' ? 12 : 8" :formProps="detailProps"> | 209 | + <component :is="_detailComponent" v-else-if="dialogType === 'dialog-view' && !$scopedSlots['dialog-view'] && !$slots['dialog-view']" v-model="formModel" :list="detailList || list" :span="detailProps.span || dialogComponent === 'el-drawer' ? 12 : 8" :formProps="detailProps"> |
| 210 | <!-- 详情分组具名插槽 --> | 210 | <!-- 详情分组具名插槽 --> |
| 211 | <template v-for="key in formGroupSlotsKeys"> | 211 | <template v-for="key in formGroupSlotsKeys"> |
| 212 | <slot v-if="$scopedSlots[`view-${key}`] || $slots[`view-${key}`]" :name="`view-${key}`" :slot="key" :model="formModel"></slot> | 212 | <slot v-if="$scopedSlots[`view-${key}`] || $slots[`view-${key}`]" :name="`view-${key}`" :slot="key" :model="formModel"></slot> |
| 213 | </template> | 213 | </template> |
| 214 | <!-- 详情项具名插槽 --> | 214 | <!-- 详情项具名插槽 --> |
| 215 | - <template v-for="item in list"> | 215 | + <template v-for="item in detailList || list"> |
| 216 | <slot v-if="$scopedSlots[`view-item-${item.key}`] || $slots[`view-item-${item.key}`]" :name="`view-item-${item.key}`" :slot="`item-${item.key}`" v-bind="{ ...item, ...slotMethod }" :model="formModel" :row="formModel" :value="formModel[item.key]"></slot> | 216 | <slot v-if="$scopedSlots[`view-item-${item.key}`] || $slots[`view-item-${item.key}`]" :name="`view-item-${item.key}`" :slot="`item-${item.key}`" v-bind="{ ...item, ...slotMethod }" :model="formModel" :row="formModel" :value="formModel[item.key]"></slot> |
| 217 | <slot v-else-if="$scopedSlots[`render-${item.key}`] || $slots[`render-${item.key}`]" :name="`render-${item.key}`" :slot="`item-${item.key}`" v-bind="{ ...item, ...slotMethod }" :model="formModel" :row="formModel" :value="formModel[item.key]"></slot> | 217 | <slot v-else-if="$scopedSlots[`render-${item.key}`] || $slots[`render-${item.key}`]" :name="`render-${item.key}`" :slot="`item-${item.key}`" v-bind="{ ...item, ...slotMethod }" :model="formModel" :row="formModel" :value="formModel[item.key]"></slot> |
| 218 | </template> | 218 | </template> |