Merge branch 'master' of code.aliyun.com:Doric/doric-js

This commit is contained in:
pengfei.zhou 2019-12-14 11:31:34 +08:00
commit 919ec7aeb7
3 changed files with 28 additions and 5 deletions

View File

@ -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)

View File

@ -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

View File

@ -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) {