如何更改Nativescript中每个选项卡的操作栏
我有一个使用Nativescript的TabBar应用程序。我想根据所选选项卡更改操作栏按钮。 我只是遵循这个教程 但是,我不知道如何使用TabView.selectedIndexChangedEvent。 如果有人这样做了,请分享这段代码 感谢在基于角度的应用程序中使用selectedIndexChange事件作为参考 例如:如何更改Nativescript中每个选项卡的操作栏,nativescript,angular2-nativescript,nativescript-telerik-ui,Nativescript,Angular2 Nativescript,Nativescript Telerik Ui,我有一个使用Nativescript的TabBar应用程序。我想根据所选选项卡更改操作栏按钮。 我只是遵循这个教程 但是,我不知道如何使用TabView.selectedIndexChangedEvent。 如果有人这样做了,请分享这段代码 感谢在基于角度的应用程序中使用selectedIndexChange事件作为参考 例如: <TabView selectedIndex="0" (selectedIndexChange)="onIndexChanged($event)"> &l
<TabView selectedIndex="0" (selectedIndexChange)="onIndexChanged($event)">
<!-- more code follows here -->
然后在组件文件中使用onIndexChanged回调
public onIndexChanged(args) {
let tabView = <TabView>args.object;
console.log("Selected index changed! New inxed: " + tabView.selectedIndex);
}
public onIndexChanged(args){
让tabView=args.object;
log(“所选索引已更改!新索引:”+tabView.selectedIndex);
}
我使用rxjs/Observable通知解决了这个问题。逻辑是在选项卡发生更改时发布通知。根据选项卡索引,我可以决定操作栏按钮点击事件方法
// send notify to child components
let message = {
"tabIndex" : this.tabIndex,
"tappedButton" : "someButton"
};
this.notifyService.send(JSON.stringify(message));
嗨,尼克,是的,我已经学过这个例子了。我可以在tab.component.ts中获取选项卡索引。但我的问题是如何根据选定的选项卡索引更改导航栏项。想想看,我的应用程序有3个标签。每个选项卡都有不同的布局文件。现在,我想在第一个选项卡和相应的操作方法的操作栏上有“搜索”按钮。第二个选项卡的“编辑”按钮,依此类推。。。如何实现这一点?一旦您“附加”到
selectedIndexChange
上,您就可以显示/隐藏预定义的ActionBar项目-示例如下:是的,我可以在Tab.component.ts中执行任何操作。但是,如何在子组件中检测操作栏按钮点击方法?如果用户点击(无论是在操作栏中还是在操作栏中),您所需要的只是跟踪点击布局的TapeEvent(例如按钮),并在回调中实现逻辑。因此,如果您需要用户在点击ActionBar按钮时更改某些内容,则您需要通过getViewById()
methodNick lliev访问所需的布局,谢谢您的帮助。我已经解决了这个问题。我已经公布了答案。