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
examples/views/docs/form.md
| ... | ... | @@ -48,7 +48,11 @@ export default { |
| 48 | 48 | |
| 49 | 49 | ```html |
| 50 | 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 | 56 | </template> |
| 53 | 57 | |
| 54 | 58 | <script> | ... | ... |
examples/views/page/test.vue
| ... | ... | @@ -7,9 +7,12 @@ |
| 7 | 7 | <template #action-btn-new> |
| 8 | 8 | <el-button>按钮</el-button> |
| 9 | 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 | 12 | </template> |
| 13 | + <!-- <template #table-operation-btn-edit> | |
| 14 | + <el-button class="eagle-scheme__table-btn" type="text">测试</el-button> | |
| 15 | + </template> --> | |
| 13 | 16 | <template #table-append> |
| 14 | 17 | <el-table-column prop="createTime" label="创建时间" min-width="180"></el-table-column> |
| 15 | 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 | 33 | <template v-for="(item, index) in data.list"> |
| 34 | 34 | <el-col v-if="bindItemVisible(item.visible)" v-show="bindItemShow(item.show)" :key="index + 'data'" :span="!item.span ? span : item.span"> |
| 35 | 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 | 37 | <el-tooltip :disabled="!item.tip" v-bind="bindItemTip(item.tip)"> |
| 37 | 38 | <slot v-if="$scopedSlots[`item-${item.key}`] || $slots[`item-${item.key}`]" :name="`item-${item.key}`" :model="model" v-bind="item"></slot> |
| 38 | 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 | 131 | <!-- 表单项具名插槽 --> |
| 132 | 132 | <template v-for="item in _formList"> |
| 133 | 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 | 135 | </template> |
| 135 | 136 | </eagle-form> |
| 136 | 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"> | ... | ... |