vant
This commit is contained in:
56
utils/dist/tab/index.js
vendored
Normal file
56
utils/dist/tab/index.js
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
import { VantComponent } from '../common/component';
|
||||
VantComponent({
|
||||
relation: {
|
||||
name: 'tabs',
|
||||
type: 'ancestor',
|
||||
linked(target) {
|
||||
this.parent = target;
|
||||
},
|
||||
unlinked() {
|
||||
this.parent = null;
|
||||
}
|
||||
},
|
||||
props: {
|
||||
dot: Boolean,
|
||||
info: null,
|
||||
title: String,
|
||||
disabled: Boolean,
|
||||
titleStyle: String,
|
||||
name: {
|
||||
type: [Number, String],
|
||||
value: '',
|
||||
}
|
||||
},
|
||||
data: {
|
||||
active: false
|
||||
},
|
||||
watch: {
|
||||
title: 'update',
|
||||
disabled: 'update',
|
||||
dot: 'update',
|
||||
info: 'update',
|
||||
titleStyle: 'update'
|
||||
},
|
||||
methods: {
|
||||
getComputedName() {
|
||||
if (this.data.name !== '') {
|
||||
return this.data.name;
|
||||
}
|
||||
return this.index;
|
||||
},
|
||||
updateRender(active, parent) {
|
||||
const { data: parentData } = parent;
|
||||
this.inited = this.inited || active;
|
||||
this.setData({
|
||||
active,
|
||||
shouldRender: this.inited || !parentData.lazyRender,
|
||||
shouldShow: active || parentData.animated
|
||||
});
|
||||
},
|
||||
update() {
|
||||
if (this.parent) {
|
||||
this.parent.updateTabs();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user