fixed #433
This commit is contained in:
parent
ca13135480
commit
acb79ba30e
8 changed files with 97 additions and 11 deletions
|
@ -1,21 +1,32 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80">
|
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80">
|
||||||
<Form-item prop="name">
|
<Form-item label-for="autocomplete" prop="name">
|
||||||
<span slot="label"><Icon type="ionic"></Icon></span>
|
<span slot="label"><Icon type="ionic"></Icon></span>
|
||||||
<AutoComplete v-model="formValidate.name" :data="['Li','Liang','Zhang']" placeholder="请输入姓名"></AutoComplete>
|
<AutoComplete element-id="autocomplete" v-model="formValidate.name" :data="['Li','Liang','Zhang']" placeholder="请输入姓名"></AutoComplete>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="邮箱" prop="mail">
|
<Form-item label="邮箱" prop="mail">
|
||||||
<!--<Input v-model="formValidate.mail" placeholder="请输入邮箱"></Input>-->
|
<!--<Input v-model="formValidate.mail" placeholder="请输入邮箱"></Input>-->
|
||||||
<ColorPicker v-model="formValidate.mail"></ColorPicker>
|
<ColorPicker v-model="formValidate.mail"></ColorPicker>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="城市" prop="city">
|
<Form-item label-for="select" label="城市" prop="city">
|
||||||
<Select v-model="formValidate.city" placeholder="请选择所在地">
|
<Select element-id="select" filterable v-model="formValidate.city" placeholder="请选择所在地">
|
||||||
<Option value="beijing">北京市</Option>
|
<Option value="beijing">北京市</Option>
|
||||||
<Option value="shanghai">上海市</Option>
|
<Option value="shanghai">上海市</Option>
|
||||||
<Option value="shenzhen">深圳市</Option>
|
<Option value="shenzhen">深圳市</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
|
<Form-item label-for="date" label="选择日期" prop="date">
|
||||||
|
<Date-picker element-id="date" type="date" placeholder="选择日期" v-model="formValidate.date"></Date-picker>
|
||||||
|
</Form-item>
|
||||||
|
<Form-item label-for="cascader" label="级联选择" prop="cascader">
|
||||||
|
<Cascader elementId="cascader" :data="dataCascader" v-model="formValidate.cascader"></Cascader>
|
||||||
|
</Form-item>
|
||||||
|
|
||||||
|
<Form-item label-for="inputnumber" label="数字框" prop="inputnumber">
|
||||||
|
<InputNumber elementId="inputnumber" :max="10" :min="1" v-model="formValidate.inputnumber"></InputNumber>
|
||||||
|
</Form-item>
|
||||||
|
|
||||||
<Form-item label="选择日期">
|
<Form-item label="选择日期">
|
||||||
<Row>
|
<Row>
|
||||||
<Col span="11">
|
<Col span="11">
|
||||||
|
@ -45,8 +56,8 @@
|
||||||
<Checkbox label="看电影"></Checkbox>
|
<Checkbox label="看电影"></Checkbox>
|
||||||
</Checkbox-group>
|
</Checkbox-group>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="介绍" prop="desc">
|
<Form-item label-for="input" label="介绍" prop="desc">
|
||||||
<Input v-model="formValidate.desc" type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入..."></Input>
|
<Input element-id="input" v-model="formValidate.desc" type="text" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入..."></Input>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item>
|
<Form-item>
|
||||||
<Button type="primary" @click="handleSubmit('formValidate')">提交</Button>
|
<Button type="primary" @click="handleSubmit('formValidate')">提交</Button>
|
||||||
|
@ -83,6 +94,53 @@
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
dataCascader: [{
|
||||||
|
value: 'beijing',
|
||||||
|
label: '北京',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'gugong',
|
||||||
|
label: '故宫'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'tiantan',
|
||||||
|
label: '天坛'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'wangfujing',
|
||||||
|
label: '王府井'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
value: 'jiangsu',
|
||||||
|
label: '江苏',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'nanjing',
|
||||||
|
label: '南京',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'fuzimiao',
|
||||||
|
label: '夫子庙',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'suzhou',
|
||||||
|
label: '苏州',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'zhuozhengyuan',
|
||||||
|
label: '拙政园',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'shizilin',
|
||||||
|
label: '狮子林',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}],
|
||||||
color: '#19be6b',
|
color: '#19be6b',
|
||||||
valuer: 3,
|
valuer: 3,
|
||||||
valuec: [],
|
valuec: [],
|
||||||
|
@ -172,7 +230,9 @@
|
||||||
interest: [],
|
interest: [],
|
||||||
date: '',
|
date: '',
|
||||||
time: '',
|
time: '',
|
||||||
desc: ''
|
desc: '',
|
||||||
|
cascader: [],
|
||||||
|
inputnumber: 1
|
||||||
},
|
},
|
||||||
ruleValidate: {
|
ruleValidate: {
|
||||||
name: [
|
name: [
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
:transfer="transfer">
|
:transfer="transfer">
|
||||||
<slot name="input">
|
<slot name="input">
|
||||||
<i-input
|
<i-input
|
||||||
|
:element-id="elementId"
|
||||||
ref="input"
|
ref="input"
|
||||||
slot="input"
|
slot="input"
|
||||||
v-model="currentValue"
|
v-model="currentValue"
|
||||||
|
@ -85,6 +86,9 @@
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String
|
type: String
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<input type="hidden" :name="name" :value="currentValue">
|
<input type="hidden" :name="name" :value="currentValue">
|
||||||
<slot>
|
<slot>
|
||||||
<i-input
|
<i-input
|
||||||
|
:element-id="elementId"
|
||||||
ref="input"
|
ref="input"
|
||||||
:readonly="!filterable"
|
:readonly="!filterable"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
@ -131,6 +132,9 @@
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String
|
type: String
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<div ref="reference" :class="[prefixCls + '-rel']">
|
<div ref="reference" :class="[prefixCls + '-rel']">
|
||||||
<slot>
|
<slot>
|
||||||
<i-input
|
<i-input
|
||||||
|
:element-id="elementId"
|
||||||
:class="[prefixCls + '-editor']"
|
:class="[prefixCls + '-editor']"
|
||||||
:readonly="!editable || readonly"
|
:readonly="!editable || readonly"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
@ -202,6 +203,9 @@
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String
|
type: String
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="classes">
|
<div :class="classes">
|
||||||
<label :class="[prefixCls + '-label']" :style="labelStyles" v-if="label || $slots.label"><slot name="label">{{ label }}</slot></label>
|
<label :class="[prefixCls + '-label']" :for="labelFor" :style="labelStyles" v-if="label || $slots.label"><slot name="label">{{ label }}</slot></label>
|
||||||
<div :class="[prefixCls + '-content']" :style="contentStyles">
|
<div :class="[prefixCls + '-content']" :style="contentStyles">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
<transition name="fade">
|
<transition name="fade">
|
||||||
|
@ -10,8 +10,6 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
// https://github.com/ElemeFE/element/blob/dev/packages/form/src/form-item.vue
|
|
||||||
|
|
||||||
import AsyncValidator from 'async-validator';
|
import AsyncValidator from 'async-validator';
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
|
|
||||||
|
@ -70,6 +68,9 @@
|
||||||
showMessage: {
|
showMessage: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
|
},
|
||||||
|
labelFor: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div :class="inputWrapClasses">
|
<div :class="inputWrapClasses">
|
||||||
<input
|
<input
|
||||||
|
:id="elementId"
|
||||||
:class="inputClasses"
|
:class="inputClasses"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
@ -101,6 +102,9 @@
|
||||||
},
|
},
|
||||||
precision: {
|
precision: {
|
||||||
type: Number
|
type: Number
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
<i class="ivu-icon ivu-icon-load-c ivu-load-loop" :class="[prefixCls + '-icon', prefixCls + '-icon-validate']" v-if="!icon"></i>
|
<i class="ivu-icon ivu-icon-load-c ivu-load-loop" :class="[prefixCls + '-icon', prefixCls + '-icon-validate']" v-if="!icon"></i>
|
||||||
</transition>
|
</transition>
|
||||||
<input
|
<input
|
||||||
|
:id="elementId"
|
||||||
:autocomplete="autocomplete"
|
:autocomplete="autocomplete"
|
||||||
ref="input"
|
ref="input"
|
||||||
:type="type"
|
:type="type"
|
||||||
|
@ -30,8 +31,9 @@
|
||||||
<div :class="[prefixCls + '-group-append']" v-if="append" v-show="slotReady"><slot name="append"></slot></div>
|
<div :class="[prefixCls + '-group-append']" v-if="append" v-show="slotReady"><slot name="append"></slot></div>
|
||||||
</template>
|
</template>
|
||||||
<textarea
|
<textarea
|
||||||
:autocomplete="autocomplete"
|
|
||||||
v-else
|
v-else
|
||||||
|
:id="elementId"
|
||||||
|
:autocomplete="autocomplete"
|
||||||
ref="textarea"
|
ref="textarea"
|
||||||
:class="textareaClasses"
|
:class="textareaClasses"
|
||||||
:style="textareaStyles"
|
:style="textareaStyles"
|
||||||
|
@ -119,6 +121,9 @@
|
||||||
return oneOf(value, ['on', 'off']);
|
return oneOf(value, ['on', 'off']);
|
||||||
},
|
},
|
||||||
default: 'off'
|
default: 'off'
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
<span :class="[prefixCls + '-placeholder']" v-show="showPlaceholder && !filterable">{{ localePlaceholder }}</span>
|
<span :class="[prefixCls + '-placeholder']" v-show="showPlaceholder && !filterable">{{ localePlaceholder }}</span>
|
||||||
<span :class="[prefixCls + '-selected-value']" v-show="!showPlaceholder && !multiple && !filterable">{{ selectedSingle }}</span>
|
<span :class="[prefixCls + '-selected-value']" v-show="!showPlaceholder && !multiple && !filterable">{{ selectedSingle }}</span>
|
||||||
<input
|
<input
|
||||||
|
:id="elementId"
|
||||||
type="text"
|
type="text"
|
||||||
v-if="filterable"
|
v-if="filterable"
|
||||||
v-model="query"
|
v-model="query"
|
||||||
|
@ -135,6 +136,9 @@
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String
|
type: String
|
||||||
|
},
|
||||||
|
elementId: {
|
||||||
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|
Loading…
Add table
Reference in a new issue