Merge branch 'master' of code.aliyun.com:Doric/doric-js
This commit is contained in:
commit
919ec7aeb7
@ -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