提交 543c2134 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 b4bb9962
{
"name": "@ezijing/vue-form",
"version": "2.3.17",
"version": "2.3.18",
"private": false,
"description": "基于Vue Element-UI的表单",
"scripts": {
......
......@@ -57,7 +57,16 @@ export default {
}
},
defaultActive: { type: String },
tabActive: { type: String }
tabActive: { type: String },
backText: { type: String, default: '返回报名系统' },
prevText: { type: String, default: '上一步' },
nextText: { type: String, default: '下一步' },
submitText: { type: String, default: '保存' }
},
provide() {
return {
options: { backText: this.backText, prevText: this.prevText, nextText: this.nextText, submitText: this.submitText }
}
},
components: { VMenu, VCard, VCardTabs, VFormPane },
data() {
......
......@@ -5,7 +5,15 @@
</template>
<!-- 多个表单 -->
<template v-if="isMultiple">
<v-form :options="form.options" :items="form.prependItems" :model="model[0] || model" :hasButton="false" v-on="$listeners" ref="form" v-if="form.prependItems"></v-form>
<v-form
:options="form.options"
:items="form.prependItems"
:model="model[0] || model"
:hasButton="false"
v-on="$listeners"
ref="form"
v-if="form.prependItems"
></v-form>
<template v-for="(item, index) in model">
<div class="v-form-group" :key="index">
<div class="v-form-group__inner">
......@@ -30,7 +38,13 @@
<div v-html="form.aside.prepend.html" v-if="form.aside.prepend.visible && form.aside.prepend.visible(item)"></div>
<div>
<div v-for="(button, i) in form.aside.buttons" :key="i">
<el-button type="primary" size="medium" plain @click="button.onClick(item, $refs.form[index])" v-if="button.visible && button.visible(item)">
<el-button
type="primary"
size="medium"
plain
@click="button.onClick(item, $refs.form[index])"
v-if="button.visible && button.visible(item)"
>
{{ button.text }}</el-button
>
</div>
......@@ -46,12 +60,29 @@
<div class="v-form-group__add" v-if="form.hasAdd">
<i class="el-icon-circle-plus" @click="handleAdd"></i>
</div>
<v-form :options="form.options" :items="form.appendItems" :model="model[0] || model" :hasButton="false" v-on="$listeners" ref="form" v-if="form.appendItems"></v-form>
<v-form
:options="form.options"
:items="form.appendItems"
:model="model[0] || model"
:hasButton="false"
v-on="$listeners"
ref="form"
v-if="form.appendItems"
></v-form>
</template>
<!-- 一个表单 -->
<template v-else>
<v-form :options="form.options" :items="form.items" :model="model" :hasButton="false" :submitText="form.submitText" @onSubmit="onSubmit" v-on="$listeners" ref="form">
<v-form
:options="form.options"
:items="form.items"
:model="model"
:hasButton="false"
:submitText="form.submitText"
@onSubmit="onSubmit"
v-on="$listeners"
ref="form"
>
<!-- slot -->
<template v-slot:[slotName]="slotProps" v-for="slotName in slotNames">
<slot :name="slotName" v-bind="slotProps"></slot>
......@@ -60,11 +91,11 @@
</template>
<div class="v-form-footer">
<el-button type="primary" size="medium" @click="handlePrev" v-if="form.prev">上一步</el-button>
<el-button type="primary" size="medium" :disabled="currentForm.options.disabled" @click="handleSubmit" v-if="currentForm.hasButton">{{
form.submitText || '保存'
}}</el-button>
<el-button type="primary" size="medium" @click="handleNext" v-if="form.next">下一步</el-button>
<el-button type="primary" size="medium" @click="handlePrev" v-if="form.prev">{{ options.prevText }}</el-button>
<el-button type="primary" size="medium" :disabled="currentForm.options.disabled" @click="handleSubmit" v-if="currentForm.hasButton">
{{ form.submitText || options.submitText }}
</el-button>
<el-button type="primary" size="medium" @click="handleNext" v-if="form.next">{{ options.nextText }}</el-button>
</div>
</div>
</template>
......@@ -76,6 +107,7 @@ import VForm from './form.vue'
export default {
name: 'VFormPane',
components: { VForm },
inject: ['options'],
props: {
title: String,
get: Object,
......
......@@ -2,7 +2,7 @@
<div class="v-tabs-card">
<div class="v-tabs-card__back" @click="$emit('back')">
<i class="el-icon-arrow-left"></i>
<span>{{ backText }}</span>
<span>{{ backText || options.backText }}</span>
</div>
<el-tabs type="card" v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane :lazy="true" :label="tab.title" :name="tab.id" :key="tab.id" v-for="tab in currentTabs">
......@@ -26,10 +26,11 @@ import VFormPane from '../../form/src/form-pane'
export default {
name: 'VCardTabs',
inject: ['options'],
props: {
defaultActive: { type: String },
tabs: { type: Array, default: () => [] },
backText: { type: String, default: '返回报名系统' }
backText: { type: String }
},
components: { VFormPane },
data() {
......
......@@ -5,7 +5,7 @@
<h1 class="v-card__title">{{ title }}</h1>
<div class="v-card__back" @click="$emit('back')">
<i class="el-icon-arrow-left"></i>
<span>{{ backText }}</span>
<span>{{ backText || options.backText }}</span>
</div>
</slot>
</div>
......@@ -17,10 +17,11 @@
<script>
export default {
name:'VCard',
name: 'VCard',
inject: ['options'],
props: {
title: { type: String },
backText: { type: String, default: '返回报名系统' }
backText: { type: String }
}
}
</script>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论