1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- Component({
- /**
- * 组件的属性列表
- */
- options: {
- multipleSlots: true // 在组件定义时的选项中启用多slot支持
- },
- relations: {
- '../segment/index': {
- type: 'parent',
- linked() { },
- unlinked() { }
- },
- },
- properties: {
- tab: String,
- key: String,
- icon: String,
- iconSize: {
- type: String,
- value: '20'
- },
- image: Object,
- picPlacement: {
- type: String,
- value: 'top'
- },
- dotBadge: Boolean,
- badgeCount: {
- type: Number,
- },
- badgeMaxCount: {
- type: Number,
- value: 99
- },
- badgeCountType: {
- type: String,
- value: 'overflow'
- },
- },
- observers: {
- '**': function (filed) {
- this.updateData(filed);
- }
- },
- /**
- * 组件的初始数据
- */
- data: {},
- /**
- * 组件的方法列表
- */
- methods: {
- updateData(filed) {
- let parent = this.getRelationNodes('../segment/index')[0];
- if (!parent) return;
- const tabList = parent.data.tabList;
- if (!(tabList && tabList.length > 0)) return;
- const index = tabList.findIndex(tab => tab.key === this.data.key);
- tabList[index] = filed;
- parent.setData({
- tabList: tabList
- }, () => {
- if (parent.data.scrollable) {
- parent.queryMultipleNodes();
- }
- });
- },
- }
- });
|