feat:List add scrollToItem method
This commit is contained in:
@@ -1889,6 +1889,9 @@ var List = /** @class */ (function (_super) {
|
||||
return this.cachedViews.values();
|
||||
}
|
||||
};
|
||||
List.prototype.scrollToItem = function (context, pos, animated) {
|
||||
return this.nativeChannel(context, 'scrollToItem')({ pos: pos, animated: animated });
|
||||
};
|
||||
List.prototype.reset = function () {
|
||||
this.cachedViews.clear();
|
||||
this.itemCount = 0;
|
||||
@@ -1953,6 +1956,10 @@ var List = /** @class */ (function (_super) {
|
||||
Property,
|
||||
__metadata$5("design:type", Function)
|
||||
], List.prototype, "onScrollEnd", void 0);
|
||||
__decorate$5([
|
||||
Property,
|
||||
__metadata$5("design:type", Number)
|
||||
], List.prototype, "scrolledPosition", void 0);
|
||||
return List;
|
||||
}(Superview));
|
||||
function list(config) {
|
||||
|
@@ -1395,6 +1395,9 @@ 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;
|
||||
@@ -1459,6 +1462,10 @@ __decorate$5([
|
||||
Property,
|
||||
__metadata$5("design:type", Function)
|
||||
], List.prototype, "onScrollEnd", void 0);
|
||||
__decorate$5([
|
||||
Property,
|
||||
__metadata$5("design:type", Number)
|
||||
], List.prototype, "scrolledPosition", void 0);
|
||||
function list(config) {
|
||||
const ret = new List;
|
||||
for (let key in config) {
|
||||
|
@@ -2854,6 +2854,9 @@ 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;
|
||||
@@ -2918,6 +2921,10 @@ __decorate$5([
|
||||
Property,
|
||||
__metadata$5("design:type", Function)
|
||||
], List.prototype, "onScrollEnd", void 0);
|
||||
__decorate$5([
|
||||
Property,
|
||||
__metadata$5("design:type", Number)
|
||||
], List.prototype, "scrolledPosition", void 0);
|
||||
function list(config) {
|
||||
const ret = new List;
|
||||
for (let key in config) {
|
||||
|
3
doric-js/index.d.ts
vendored
3
doric-js/index.d.ts
vendored
@@ -499,6 +499,7 @@ declare module 'doric/lib/src/widget/image' {
|
||||
declare module 'doric/lib/src/widget/list' {
|
||||
import { View, Superview, NativeViewModel } from "doric/lib/src/ui/view";
|
||||
import { Stack } from "doric/lib/src/widget/layouts";
|
||||
import { BridgeContext } from "doric/lib/src/runtime/global";
|
||||
export class ListItem extends Stack {
|
||||
/**
|
||||
* Set to reuse native view
|
||||
@@ -521,6 +522,8 @@ declare module 'doric/lib/src/widget/list' {
|
||||
x: number;
|
||||
y: number;
|
||||
}) => void;
|
||||
scrolledPosition?: number;
|
||||
scrollToItem(context: BridgeContext, pos: number, animated?: boolean): Promise<any>;
|
||||
reset(): void;
|
||||
isDirty(): boolean;
|
||||
toModel(): NativeViewModel;
|
||||
|
3
doric-js/lib/src/widget/list.d.ts
vendored
3
doric-js/lib/src/widget/list.d.ts
vendored
@@ -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;
|
||||
|
@@ -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) {
|
||||
|
@@ -17,6 +17,7 @@
|
||||
import { View, Property, Superview, NativeViewModel } from "../ui/view";
|
||||
import { Stack } from "./layouts";
|
||||
import { layoutConfig } from "../util/layoutconfig";
|
||||
import { BridgeContext } from "../runtime/global";
|
||||
|
||||
|
||||
export class ListItem extends Stack {
|
||||
@@ -63,6 +64,13 @@ export class List extends Superview {
|
||||
@Property
|
||||
onScrollEnd?: (offset: { x: number, y: number }) => void
|
||||
|
||||
@Property
|
||||
scrolledPosition?: number
|
||||
|
||||
scrollToItem(context: BridgeContext, pos: number, animated?: boolean) {
|
||||
return this.nativeChannel(context, 'scrollToItem')({ pos, animated }) as Promise<any>
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.cachedViews.clear()
|
||||
this.itemCount = 0
|
||||
|
Reference in New Issue
Block a user