Merge branch 'dev' into carbon

pull/5360/head
Leopoldthecoder 2017-07-27 15:45:12 +08:00
commit 638b025c66
9 changed files with 36 additions and 25 deletions

View File

@ -283,7 +283,7 @@ It includes all kinds of input items, such as `input`, `select`, `radio` and `ch
<el-form-item label="Activity form"> <el-form-item label="Activity form">
<el-input type="textarea" v-model="form.desc"></el-input> <el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="120px"> <el-form-item>
<el-button type="primary" @click="onSubmit">Create</el-button> <el-button type="primary" @click="onSubmit">Create</el-button>
<el-button>Cancel</el-button> <el-button>Cancel</el-button>
</el-form-item> </el-form-item>
@ -445,7 +445,7 @@ Form component allows you to verify your data, helping you find and correct erro
<el-form-item label="Activity form" prop="desc"> <el-form-item label="Activity form" prop="desc">
<el-input type="textarea" v-model="ruleForm.desc"></el-input> <el-input type="textarea" v-model="ruleForm.desc"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="120px"> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">Create</el-button> <el-button type="primary" @click="submitForm('ruleForm')">Create</el-button>
<el-button @click="resetForm('ruleForm')">Reset</el-button> <el-button @click="resetForm('ruleForm')">Reset</el-button>
</el-form-item> </el-form-item>
@ -525,7 +525,7 @@ Form component allows you to verify your data, helping you find and correct erro
<el-form-item label="Age" prop="age"> <el-form-item label="Age" prop="age">
<el-input v-model.number="ruleForm2.age"></el-input> <el-input v-model.number="ruleForm2.age"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="120px"> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm2')">Submit</el-button> <el-button type="primary" @click="submitForm('ruleForm2')">Submit</el-button>
<el-button @click="resetForm('ruleForm2')">Reset</el-button> <el-button @click="resetForm('ruleForm2')">Reset</el-button>
</el-form-item> </el-form-item>
@ -634,7 +634,7 @@ Form component allows you to verify your data, helping you find and correct erro
> >
<el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">Delete</el-button> <el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">Delete</el-button>
</el-form-item> </el-form-item>
<el-form-item label-width="120px"> <el-form-item>
<el-button type="primary" @click="submitForm('dynamicValidateForm')">Submit</el-button> <el-button type="primary" @click="submitForm('dynamicValidateForm')">Submit</el-button>
<el-button @click="addDomain">New domain</el-button> <el-button @click="addDomain">New domain</el-button>
<el-button @click="resetForm('dynamicValidateForm')">Reset</el-button> <el-button @click="resetForm('dynamicValidateForm')">Reset</el-button>
@ -700,7 +700,7 @@ Form component allows you to verify your data, helping you find and correct erro
> >
<el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input> <el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="100px"> <el-form-item>
<el-button type="primary" @click="submitForm('numberValidateForm')">Submit</el-button> <el-button type="primary" @click="submitForm('numberValidateForm')">Submit</el-button>
<el-button @click="resetForm('numberValidateForm')">Reset</el-button> <el-button @click="resetForm('numberValidateForm')">Reset</el-button>
</el-form-item> </el-form-item>
@ -735,7 +735,7 @@ Form component allows you to verify your data, helping you find and correct erro
::: :::
:::tip :::tip
If an `el-form-item` has an empty `label`, and you wish to align it with other items, please add `label-width` on that `el-form-item`. When an `el-form-item` is nested in another `el-form-item`, its label width will be `0`. You can set `label-width` on that `el-form-item` if needed.
::: :::
### Form Attributes ### Form Attributes
@ -746,7 +746,7 @@ If an `el-form-item` has an empty `label`, and you wish to align it with other i
| rules | validation rules of form | object | — | — | | rules | validation rules of form | object | — | — |
| inline | whether the form is inline | boolean | — | false | | inline | whether the form is inline | boolean | — | false |
| label-position | position of label | string | left/right/top | right | | label-position | position of label | string | left/right/top | right |
| label-width | width of label, and all form items will inherit from `Form` | string | — | — | | label-width | width of label, and all its direct child form items will inherit this value | string | — | — |
| label-suffix | suffix of the label | string | — | — | | label-suffix | suffix of the label | string | — | — |
| show-message | whether to show the error message | boolean | — | true | | show-message | whether to show the error message | boolean | — | true |

View File

@ -277,7 +277,7 @@
<el-form-item label="活动形式"> <el-form-item label="活动形式">
<el-input type="textarea" v-model="form.desc"></el-input> <el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="80px"> <el-form-item>
<el-button type="primary" @click="onSubmit">立即创建</el-button> <el-button type="primary" @click="onSubmit">立即创建</el-button>
<el-button>取消</el-button> <el-button>取消</el-button>
</el-form-item> </el-form-item>
@ -436,7 +436,7 @@
<el-form-item label="活动形式" prop="desc"> <el-form-item label="活动形式" prop="desc">
<el-input type="textarea" v-model="ruleForm.desc"></el-input> <el-input type="textarea" v-model="ruleForm.desc"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="100px"> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
<el-button @click="resetForm('ruleForm')">重置</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button>
</el-form-item> </el-form-item>
@ -515,7 +515,7 @@
<el-form-item label="年龄" prop="age"> <el-form-item label="年龄" prop="age">
<el-input v-model.number="ruleForm2.age"></el-input> <el-input v-model.number="ruleForm2.age"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="100px"> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button> <el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button>
<el-button @click="resetForm('ruleForm2')">重置</el-button> <el-button @click="resetForm('ruleForm2')">重置</el-button>
</el-form-item> </el-form-item>
@ -623,7 +623,7 @@
> >
<el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">删除</el-button> <el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">删除</el-button>
</el-form-item> </el-form-item>
<el-form-item label-width="100px"> <el-form-item>
<el-button type="primary" @click="submitForm('dynamicValidateForm')">提交</el-button> <el-button type="primary" @click="submitForm('dynamicValidateForm')">提交</el-button>
<el-button @click="addDomain">新增域名</el-button> <el-button @click="addDomain">新增域名</el-button>
<el-button @click="resetForm('dynamicValidateForm')">重置</el-button> <el-button @click="resetForm('dynamicValidateForm')">重置</el-button>
@ -688,7 +688,7 @@
> >
<el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input> <el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="100px"> <el-form-item>
<el-button type="primary" @click="submitForm('numberValidateForm')">提交</el-button> <el-button type="primary" @click="submitForm('numberValidateForm')">提交</el-button>
<el-button @click="resetForm('numberValidateForm')">重置</el-button> <el-button @click="resetForm('numberValidateForm')">重置</el-button>
</el-form-item> </el-form-item>
@ -723,7 +723,7 @@
::: :::
:::tip :::tip
`el-form-item``label` 属性为空时,如果希望和其他 `label` 属性不为空的表单项内容对齐,请在 `el-form-item`设置 `label-width` 属性。 嵌套在 `el-form-item` 中的 `el-form-item` 标签宽度默认为零,不会继承 `el-form``label-width`。如果需要可以为其单独设置 `label-width` 属性。
::: :::
### Form Attributes ### Form Attributes
@ -734,7 +734,7 @@
| rules | 表单验证规则 | object | — | — | | rules | 表单验证规则 | object | — | — |
| inline | 行内表单模式 | boolean | — | false | | inline | 行内表单模式 | boolean | — | false |
| label-position | 表单域标签的位置 | string | right/left/top | right | | label-position | 表单域标签的位置 | string | right/left/top | right |
| label-width | 表单域标签的宽度,所有的 form-item 都会继承 form 组件的 labelWidth 的值 | string | — | — | | label-width | 表单域标签的宽度,作为 Form 直接子元素的 form-item 会继承该值 | string | — | — |
| label-suffix | 表单域标签的后缀 | string | — | — | | label-suffix | 表单域标签的后缀 | string | — | — |
| show-message | 是否显示校验错误信息 | boolean | — | true | | show-message | 是否显示校验错误信息 | boolean | — | true |

View File

@ -190,7 +190,7 @@
<el-radio-button :label="false">展开</el-radio-button> <el-radio-button :label="false">展开</el-radio-button>
<el-radio-button :label="true">收起</el-radio-button> <el-radio-button :label="true">收起</el-radio-button>
</el-radio-group> </el-radio-group>
<el-menu default-active="2" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse"> <el-menu default-active="1-4-1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse">
<el-submenu index="1"> <el-submenu index="1">
<template slot="title"> <template slot="title">
<i class="el-icon-message"></i> <i class="el-icon-message"></i>

View File

@ -87,7 +87,7 @@
var ret = {}; var ret = {};
const label = this.label; const label = this.label;
if (this.form.labelPosition === 'top' || this.form.inline) return ret; if (this.form.labelPosition === 'top' || this.form.inline) return ret;
if (!label && !this.labelWidth) return ret; if (!label && !this.labelWidth && this.isNested) return ret;
var labelWidth = this.labelWidth || this.form.labelWidth; var labelWidth = this.labelWidth || this.form.labelWidth;
if (labelWidth) { if (labelWidth) {
ret.marginLeft = labelWidth; ret.marginLeft = labelWidth;
@ -95,9 +95,14 @@
return ret; return ret;
}, },
form() { form() {
var parent = this.$parent; let parent = this.$parent;
while (parent.$options.componentName !== 'ElForm') { let parentName = parent.$options.componentName;
while (parentName !== 'ElForm') {
if (parentName === 'ElFormItem') {
this.isNested = true;
}
parent = parent.$parent; parent = parent.$parent;
parentName = parent.$options.componentName;
} }
return parent; return parent;
}, },
@ -136,7 +141,8 @@
validateState: '', validateState: '',
validateMessage: '', validateMessage: '',
validateDisabled: false, validateDisabled: false,
validator: {} validator: {},
isNested: false
}; };
}, },
methods: { methods: {

View File

@ -62,6 +62,10 @@
}); });
}, },
validate(callback) { validate(callback) {
if (!this.model) {
console.warn('[Element Warn][Form]model is required for validate to work!');
return;
};
let valid = true; let valid = true;
let count = 0; let count = 0;
// fieldscallback // fieldscallback

View File

@ -192,7 +192,7 @@
initOpenedMenu() { initOpenedMenu() {
const index = this.activedIndex; const index = this.activedIndex;
const activeItem = this.items[index]; const activeItem = this.items[index];
if (!activeItem || this.mode === 'horizontal') return; if (!activeItem || this.mode === 'horizontal' || this.collapse) return;
let indexPath = activeItem.indexPath; let indexPath = activeItem.indexPath;

View File

@ -109,16 +109,17 @@ export default {
this.showPopper = false; this.showPopper = false;
}, },
handleMouseEnter() { handleMouseEnter() {
clearTimeout(this._timer);
if (this.openDelay) { if (this.openDelay) {
setTimeout(() => { this._timer = setTimeout(() => {
this.showPopper = true; this.showPopper = true;
}, this.openDelay); }, this.openDelay);
} else { } else {
this.showPopper = true; this.showPopper = true;
} }
clearTimeout(this._timer);
}, },
handleMouseLeave() { handleMouseLeave() {
clearTimeout(this._timer);
this._timer = setTimeout(() => { this._timer = setTimeout(() => {
this.showPopper = false; this.showPopper = false;
}, 200); }, 200);

View File

@ -300,9 +300,9 @@ export default class Node {
setChecked(value, deep, recursion, passValue) { setChecked(value, deep, recursion, passValue) {
this.indeterminate = value === 'half'; this.indeterminate = value === 'half';
this.checked = value === true; this.checked = value === true;
let { allWithoutDisable } = getChildState(this.childNodes); let { all, allWithoutDisable } = getChildState(this.childNodes);
if (this.childNodes.length && allWithoutDisable) { if (this.childNodes.length && (!all && allWithoutDisable)) {
this.checked = false; this.checked = false;
value = false; value = false;
} }

View File

@ -16,7 +16,7 @@ export default {
startTime: 'Starttijd', startTime: 'Starttijd',
endDate: 'Einddatum', endDate: 'Einddatum',
endTime: 'Eindtijd', endTime: 'Eindtijd',
year: 'Jaar', year: '',
month1: 'januari', month1: 'januari',
month2: 'februari', month2: 'februari',
month3: 'maart', month3: 'maart',