Commit 407cf383d4ab1f4aa683309836ad3645ccb44ef3
1 parent
fe692299
Exists in
master
and in
1 other branch
Scheme Form 表单项label支持自定义
Showing
5 changed files
with
13 additions
and
4 deletions
Show diff stats
examples/main.js
| @@ -18,7 +18,7 @@ const request = axios.create({ | @@ -18,7 +18,7 @@ const request = axios.create({ | ||
| 18 | timeout: 1000 * 60, | 18 | timeout: 1000 * 60, |
| 19 | withCredentials: true, | 19 | withCredentials: true, |
| 20 | headers: { | 20 | headers: { |
| 21 | - token: 'ca0b8636568e89d8bdfe394750dea7a0', | 21 | + token: 'ca2bd2fbc89ee1fdf26c975255905f8b', |
| 22 | 'Accept-Language': 'zh-CN' | 22 | 'Accept-Language': 'zh-CN' |
| 23 | } | 23 | } |
| 24 | }); | 24 | }); |
examples/views/docs/form.md
| @@ -48,7 +48,11 @@ export default { | @@ -48,7 +48,11 @@ export default { | ||
| 48 | 48 | ||
| 49 | ```html | 49 | ```html |
| 50 | <template> | 50 | <template> |
| 51 | - <eagle-form :list="formList" style="width: 500px;"></eagle-form> | 51 | + <eagle-form :list="formList" style="width: 500px;"> |
| 52 | + <template #label-gender="{ label }"> | ||
| 53 | + <span>自定义 - {{ label }}</span> | ||
| 54 | + </template> | ||
| 55 | + </eagle-form> | ||
| 52 | </template> | 56 | </template> |
| 53 | 57 | ||
| 54 | <script> | 58 | <script> |
examples/views/page/test.vue
| @@ -7,9 +7,12 @@ | @@ -7,9 +7,12 @@ | ||
| 7 | <template #action-btn-new> | 7 | <template #action-btn-new> |
| 8 | <el-button>按钮</el-button> | 8 | <el-button>按钮</el-button> |
| 9 | </template> | 9 | </template> |
| 10 | - <template #table-operation-btn-edit> | ||
| 11 | - <el-button class="eagle-scheme__table-btn" type="text">测试</el-button> | 10 | + <template #form-label-code="{ label }"> |
| 11 | + 修改 - {{ label }} | ||
| 12 | </template> | 12 | </template> |
| 13 | + <!-- <template #table-operation-btn-edit> | ||
| 14 | + <el-button class="eagle-scheme__table-btn" type="text">测试</el-button> | ||
| 15 | + </template> --> | ||
| 13 | <template #table-append> | 16 | <template #table-append> |
| 14 | <el-table-column prop="createTime" label="创建时间" min-width="180"></el-table-column> | 17 | <el-table-column prop="createTime" label="创建时间" min-width="180"></el-table-column> |
| 15 | <el-table-column prop="createUser" label="创建人" min-width="160" show-overflow-tooltip></el-table-column> | 18 | <el-table-column prop="createUser" label="创建人" min-width="160" show-overflow-tooltip></el-table-column> |
packages/form/index.vue
| @@ -33,6 +33,7 @@ | @@ -33,6 +33,7 @@ | ||
| 33 | <template v-for="(item, index) in data.list"> | 33 | <template v-for="(item, index) in data.list"> |
| 34 | <el-col v-if="bindItemVisible(item.visible)" v-show="bindItemShow(item.show)" :key="index + 'data'" :span="!item.span ? span : item.span"> | 34 | <el-col v-if="bindItemVisible(item.visible)" v-show="bindItemShow(item.show)" :key="index + 'data'" :span="!item.span ? span : item.span"> |
| 35 | <el-form-item :label="item.label" :label-width="item.label ? undefined : item.labelWidth || '0px'" :prop="item.key" :rules="bindItemRules(item)"> | 35 | <el-form-item :label="item.label" :label-width="item.label ? undefined : item.labelWidth || '0px'" :prop="item.key" :rules="bindItemRules(item)"> |
| 36 | + <slot v-if="$scopedSlots[`label-${item.key}`] || $slots[`label-${item.key}`]" :name="`label-${item.key}`" slot="label" :model="model" v-bind="item"></slot> | ||
| 36 | <el-tooltip :disabled="!item.tip" v-bind="bindItemTip(item.tip)"> | 37 | <el-tooltip :disabled="!item.tip" v-bind="bindItemTip(item.tip)"> |
| 37 | <slot v-if="$scopedSlots[`item-${item.key}`] || $slots[`item-${item.key}`]" :name="`item-${item.key}`" :model="model" v-bind="item"></slot> | 38 | <slot v-if="$scopedSlots[`item-${item.key}`] || $slots[`item-${item.key}`]" :name="`item-${item.key}`" :model="model" v-bind="item"></slot> |
| 38 | <component v-else :is="item.type || 'el-input'" v-model="model[item.key]" v-bind="bindItemProps(item)" v-on="bindItemEvent(item)" :style="bindItemStyle(item.style)"></component> | 39 | <component v-else :is="item.type || 'el-input'" v-model="model[item.key]" v-bind="bindItemProps(item)" v-on="bindItemEvent(item)" :style="bindItemStyle(item.style)"></component> |
packages/scheme/index.vue
| @@ -131,6 +131,7 @@ | @@ -131,6 +131,7 @@ | ||
| 131 | <!-- 表单项具名插槽 --> | 131 | <!-- 表单项具名插槽 --> |
| 132 | <template v-for="item in _formList"> | 132 | <template v-for="item in _formList"> |
| 133 | <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> | 133 | <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> |
| 134 | + <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> | ||
| 134 | </template> | 135 | </template> |
| 135 | </eagle-form> | 136 | </eagle-form> |
| 136 | <eagle-detail v-else-if="dialogType === 'dialog-view' && !$scopedSlots['dialog-view'] && !$slots['dialog-view']" v-model="formModel" :list="list || detailList || _formList" :span="detailProps.span || 8" :formProps="detailProps"> | 137 | <eagle-detail v-else-if="dialogType === 'dialog-view' && !$scopedSlots['dialog-view'] && !$slots['dialog-view']" v-model="formModel" :list="list || detailList || _formList" :span="detailProps.span || 8" :formProps="detailProps"> |