Merge branch 'master' of code.aliyun.com:Doric/doric-js
This commit is contained in:
		| @@ -194,11 +194,12 @@ export function jsObtainContext(id: string) { | ||||
|  | ||||
| export function jsReleaseContext(id: string) { | ||||
|     const context = gContexts.get(id) | ||||
|     const args = arguments | ||||
|     if (context) { | ||||
|         timerInfos.forEach((v, k) => { | ||||
|             if (v.context === context) { | ||||
|                 if (global.nativeClearTimer === undefined) { | ||||
|                     return Reflect.apply(_clearTimeout, undefined, arguments) | ||||
|                     return Reflect.apply(_clearTimeout, undefined, args) | ||||
|                 } | ||||
|                 timerInfos.delete(k) | ||||
|                 nativeClearTimer(k) | ||||
|   | ||||
| @@ -367,9 +367,11 @@ export abstract class Superview extends View { | ||||
|     toModel() { | ||||
|         const subviews = [] | ||||
|         for (let v of this.allSubviews()) { | ||||
|             v.superview = this | ||||
|             if (v.isDirty()) { | ||||
|                 subviews.push(v.toModel()) | ||||
|             if (v != undefined) { | ||||
|                 v.superview = this | ||||
|                 if (v.isDirty()) { | ||||
|                     subviews.push(v.toModel()) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         this.dirtyProps.subviews = subviews | ||||
|   | ||||
| @@ -43,7 +43,11 @@ export class FlowLayout extends Superview implements IFlowLayout { | ||||
|     private ignoreDirtyCallOnce = false | ||||
|  | ||||
|     allSubviews() { | ||||
|         return this.cachedViews.values() | ||||
|         if (this.loadMoreView) { | ||||
|             return [...this.cachedViews.values(), this.loadMoreView] | ||||
|         } else { | ||||
|             return this.cachedViews.values() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Property | ||||
| @@ -64,6 +68,15 @@ export class FlowLayout extends Superview implements IFlowLayout { | ||||
|     @Property | ||||
|     batchCount = 15 | ||||
|  | ||||
|     @Property | ||||
|     onLoadMore?: () => void | ||||
|  | ||||
|     @Property | ||||
|     loadMore?: boolean | ||||
|  | ||||
|     @Property | ||||
|     loadMoreView?: FlowLayoutItem | ||||
|  | ||||
|     reset() { | ||||
|         this.cachedViews.clear() | ||||
|         this.itemCount = 0 | ||||
| @@ -91,6 +104,13 @@ export class FlowLayout extends Superview implements IFlowLayout { | ||||
|             return listItem.toModel() | ||||
|         }) | ||||
|     } | ||||
|  | ||||
|     toModel() { | ||||
|         if (this.loadMoreView) { | ||||
|             this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId | ||||
|         } | ||||
|         return super.toModel() | ||||
|     } | ||||
| } | ||||
|  | ||||
| export function flowlayout(config: IFlowLayout) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user