首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >toggleDrawerState带Nativescript-telerik-ui幻灯片抽屉

toggleDrawerState带Nativescript-telerik-ui幻灯片抽屉
EN

Stack Overflow用户
提问于 2016-08-30 22:02:19
回答 1查看 435关注 0票数 1

我使用的是最新版本的UI (ver )。1.3.1)。此更新版本应支持操作栏重叠。我正在使用演示的这里示例来重新处理现有的抽屉实现。我遇到的问题是,我曾经完全正常工作的按钮在更新后就不再工作了。为了处理这个问题,我尝试调用toggleDrawerState(),但是当我试图获得对抽屉的引用时,它失败了。我的另一个问题是抽屉内容不再从我的小部件目录加载,下面是我的代码示例

XML视图

代码语言:javascript
复制
  <dpg:DrawerPage
    navigatedTo="onNavigatedTo"
    navigatingTo="navigatingTo"  
    xmlns:dpg="nativescript-telerik-ui/sidedrawer/drawerpage"
    xmlns:drawer="nativescript-telerik-ui/sidedrawer"
    xmlns:widgets="shared/widgets"
    xmlns="http://www.nativescript.org/tns.xsd">

  <page.actionBar>
    <action-bar title="{{L('connections')}}">
      <!--<NavigationButton  icon="res://back" tap="goBack" ios:visibility="collapsed" />      -->
      <NavigationButton  icon="res://menu" tap="toggleDrawer" ios:visibility="collapsed" />
      <action-bar.actionItems>
        <ios>
          <action-item icon="res://ic_menu" ios.position="left" tap="toggleDrawer" />
        </ios>
      </action-bar.actionItems>
    </action-bar>
  </page.actionBar>

  <dpg:DrawerPage.sideDrawer id="">
    <drawer:RadSideDrawer id="drawer">
      <drawer:RadSideDrawer.drawerContent>
        <widgets:drawer-content />
      </drawer:RadSideDrawer.drawerContent>
    </drawer:RadSideDrawer> 
  </dpg:DrawerPage.sideDrawer>

    <StackLayout cssClass="mainContent">
        <Label text="test test test" textWrap="true" cssClass="drawerContentText"/>

    </StackLayout>
</dpg:DrawerPage>

JS中,我试图切换抽屉

代码语言:javascript
复制
SideDrawer.prototype.toggleDrawer = function() {
  var page = topmost().currentPage;
  page.getViewById("drawer").toggleDrawerState();
};

显然,试图通过获取附加到the<drawer:RadSideDrawer id="drawer">的ID来访问抽屉是不正确的,希望有人能给我指明正确的方向。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-02 12:31:17

在使用ActionBar的“Showovercontent”功能的场景中,不再将RadSideDrawer添加到页面的content中,而是添加到自定义DrawerPage的属性中,这就是为什么不能再使用Page的.getViewById()方法的原因。在这个场景中,您可以简单地将页面转换为DrawerPage,并直接使用它的sideDrawer属性,即XML中声明的RadSideDrawer。例如:

代码语言:javascript
复制
SideDrawer.prototype.toggleDrawer = function() {
  var page = topmost().currentPage;
  page.sideDrawer.toggleDrawerState();
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39237771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档