[new feature] optimize find-parent (#325)

* fix: Tabbar icon line-height

* [new feature] progress add showPivot prop

* [new feature] TabItem support vue-router

* [new feature] update document header style

* [Doc] add toast english ducoment

* [bugfix] Search box-sizing wrong

* [Doc] update vant-demo respo

* [Doc] translate theme & demo pages

* [Doc] add Internationalization document

* [bugfix] remove unnecessary props

* [fix] optimize clickoutside

* [new feature] optimize find-parent
This commit is contained in:
neverland 2017-11-16 04:56:24 -06:00 committed by GitHub
parent cd0a0bc8f9
commit 2890a55ed8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 28 additions and 28 deletions

View File

@ -22,7 +22,7 @@
<script>
import Icon from '../icon';
import findParent from '../mixins/findParent';
import findParent from '../mixins/find-parent';
export default {
name: 'van-checkbox',
@ -52,7 +52,7 @@ export default {
computed: {
// whether is in van-checkbox-group
isGroup() {
return !!this.findParentByComponentName('van-checkbox-group');
return !!this.findParentByName('van-checkbox-group');
},
currentValue: {

View File

@ -0,0 +1,22 @@
/**
* find parent component by name
*/
export default {
methods: {
findParentByName(name) {
if (!this.parentGroup) {
let parent = this.$parent;
while (parent) {
if (parent.$options.name === name) {
this.parentGroup = parent;
break;
}
parent = parent.$parent;
}
}
return this.parentGroup;
}
}
};

View File

@ -1,22 +0,0 @@
/**
* 根据父组件名找到对应`parent`
*/
export default {
methods: {
findParentByComponentName(name) {
if (this.parentGroup) return;
let parent = this.$parent;
while (parent) {
if (parent.$options.name === name) {
this.parentGroup = parent;
break;
} else {
parent = parent.$parent;
}
}
return this.parentGroup;
}
}
};

View File

@ -25,7 +25,7 @@
</template>
<script>
import findParent from '../mixins/findParent';
import findParent from '../mixins/find-parent';
export default {
name: 'van-radio',
@ -40,7 +40,7 @@ export default {
computed: {
isGroup() {
return !!this.findParentByComponentName('van-radio-group');
return !!this.findParentByName('van-radio-group');
},
currentValue: {

View File

@ -5,7 +5,7 @@
</template>
<script>
import findParent from '../mixins/findParent';
import findParent from '../mixins/find-parent';
export default {
name: 'van-tab',
@ -21,7 +21,7 @@ export default {
},
data() {
this.findParentByComponentName('van-tabs');
this.findParentByName('van-tabs');
const nextIndex = this.parentGroup.tabs.length;
this.updateParentData(nextIndex);
return {