-
你已经在那里得到了索引,你不需要把它分配给id,你可以把它传递给函数
(tap)="checkInstall($event, myIndex)"
-
textBtn
是所有按钮的默认按钮文本,好的,但如果更改它,所有按钮文本都将更改。要根据单击的按钮更改按钮文本,因为您已经在组件中获得了按钮对象,所以只需使用它:
let button = <Button>args.object;
button.set('text', 'Remove'); // this will change the current button clicked
因此,您的整个代码可能是:
checkInstall(args: EventData, index: number): void {
let button = <Button>args.object;
if (index === 0) {
appavailability.available("com.facebook.lite").then((avail: boolean) => {
console.log("App available? " + avail);
if (avail == true) {
console.log("button id :" + args.object.get("id"));
button.set('text', 'Remove');
console.log("True", "Test");
} else {
console.log("False", "Test");
}
});
} else {
button.set('text', 'Install');
}
}
在你看来:
<Button text="{{textBtn}}" (tap)="checkInstall($event, myIndex)" row="0" col="1"></Button>