RTL布局中的Ionic 2后退按钮

Moh*_*lim 3 typescript ionic-framework ionic2 ionic3 angular

我要开始一个Ionic 2应用程序,它应该是阿拉伯语,所以我需要使用RTL布局,我选择了侧面菜单模板

通过以下行将应用程序配置为RTL可以完美地改变每个方向,除了后退按钮应该指向正确的方向

<ion-nav #content [root]="rootPage" dir="rtl"></ion-nav>
Run Code Online (Sandbox Code Playgroud)

导航栏现在看起来像这样

在此输入图像描述

在Ionic团队关注RTL相关问题之前,是不是有任何修复方法?

seb*_*ras 8

您可以使用平台将对齐设置为RTL(docs),而不是在其中设置dir属性.ion-nav

private setProperAligment(): void {

    if (this.selectedLanguage.rtl) {
        this.platform.setDir('rtl', true);
        // ...
    } else {
        this.platform.setDir('ltr', true);
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这会将dir="rtl"属性添加到html您应用的代码中.就像你说的那样,Ionic团队正在使用后退按钮解决问题,所以在此期间,你可以在app.scss文件中添加这个css样式规则:

html[dir="rtl"] {
    .back-button-icon.icon-md.back-button-icon-md.ion-md-arrow-back {
        transform: rotate(180deg);
    }

    .back-button-icon.icon-ios.back-button-icon-ios.ion-ios-arrow-back {
        transform: rotate(180deg);
        padding: 0 5px;
    }
}
Run Code Online (Sandbox Code Playgroud)