Commit 0a4b0a7f13bc5f8275816dc4d432ca9f28bc1bde

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

阻止默认表单事件,Scheme组件增加搜索栏插槽

packages/form/index.vue
... ... @@ -20,7 +20,7 @@
20 20 </style>
21 21  
22 22 <template>
23   - <el-form class="eagle-form" ref="form" :model="model" v-bind="{ size: 'small', 'label-width': '100px', ...formProps }">
  23 + <el-form class="eagle-form" ref="form" :model="model" v-bind="{ size: 'small', 'label-width': '100px', ...formProps }" @submit.native.prevent>
24 24 <el-row :gutter="15">
25 25 <el-collapse v-if="(formProps.collapse || collapse) && listOption.isGroup" v-model="activeNames" :accordion="(formProps.accordion || accordion)" class="eagle-form__collapse">
26 26 <template v-for="(data, index) in listOption.dataList">
... ...
packages/scheme/index.vue
... ... @@ -79,16 +79,24 @@
79 79  
80 80 <template>
81 81 <div class="eagle-scheme">
82   - <div v-if="option.showSearch !== false" class="eagle-scheme__card">
83   - <!-- 搜索表单 -->
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   - <!-- 搜索表单项具名插槽 -->
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>
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>
90   - </component>
91   - </div>
  82 + <!-- 表格搜索栏插槽 -->
  83 + <template v-if="option.showSearch !== false">
  84 + <template v-if="$scopedSlots['search'] || $slots['search']">
  85 + <slot name="search" v-bind="slotMethod" :handleSearch="handleSearch" :searching="tableLoading"></slot>
  86 + </template>
  87 + <template v-else>
  88 + <div class="eagle-scheme__card">
  89 + <!-- 搜索表单 -->
  90 + <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">
  91 + <!-- 搜索表单项具名插槽 -->
  92 + <template v-for="item in searchList || _searchList">
  93 + <slot v-if="$scopedSlots[`search-${item.key}`] || $slots[`search-${item.key}`]" :name="`search-${item.key}`" :slot="item.key" :model="searchModel"></slot>
  94 + <slot v-else-if="$scopedSlots[`field-${item.key}`] || $slots[`field-${item.key}`]" :name="`field-${item.key}`" :slot="item.key" :model="searchModel"></slot>
  95 + </template>
  96 + </component>
  97 + </div>
  98 + </template>
  99 + </template>
92 100 <!-- 操作按钮栏 -->
93 101 <div v-if="option.showActionBar !== false" class="eagle-scheme__action" v-loading="tableLoading" element-loading-spinner="none" element-loading-background="rgba(255, 255, 255, 0.6)">
94 102 <slot v-if="$scopedSlots['action-bar'] || $slots['action-bar']" name="action-bar" v-bind="slotMethod" :model="formModel" :selection="tableSelection"></slot>
... ...