feat:List add scrollToItem method

This commit is contained in:
pengfei.zhou
2020-04-22 11:18:21 +08:00
committed by osborn
parent 2541a13d74
commit 5f4942a8ff
12 changed files with 129 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
import { View, Superview, NativeViewModel } from "../ui/view";
import { Stack } from "./layouts";
import { BridgeContext } from "../runtime/global";
export declare class ListItem extends Stack {
/**
* Set to reuse native view
@@ -24,6 +25,8 @@ export declare class List extends Superview {
x: number;
y: number;
}) => void;
scrolledPosition?: number;
scrollToItem(context: BridgeContext, pos: number, animated?: boolean): Promise<any>;
reset(): void;
private getItem;
isDirty(): boolean;

View File

@@ -47,6 +47,9 @@ export class List extends Superview {
return this.cachedViews.values();
}
}
scrollToItem(context, pos, animated) {
return this.nativeChannel(context, 'scrollToItem')({ pos, animated });
}
reset() {
this.cachedViews.clear();
this.itemCount = 0;
@@ -111,6 +114,10 @@ __decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onScrollEnd", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], List.prototype, "scrolledPosition", void 0);
export function list(config) {
const ret = new List;
for (let key in config) {