1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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();
- }
- }
- }
- });
|