0

我正在使用带有 angularJS 的 ionic v1,并且我有离子标签:

<ion-tabs class="tabs-icon-top tabs-color-active-positive">

  <!-- Home Tab -->
  <ion-tab icon-off="ion-home" icon-on="ion-home" href="#/tab/home">
    <ion-nav-view name="tab-home"></ion-nav-view>
  </ion-tab>

  <!-- Calendar Tab -->
  <ion-tab icon-off="ion-calendar" icon-on="ion-calendar" href="#/tab/calendar">
    <ion-nav-view name="tab-calendar"></ion-nav-view>
  </ion-tab>
</ion-tabs>

在日历选项卡中,我有 html 选项,如下所示:

<select ng-options="x for x in $ctrl.startTimes"></select>

When the select menu opens, the view scroll to upward and creates empty space under ion-tabs.

如何在选择菜单打开之前将视图移动到初始位置?

4

1 回答 1

0

最后,我能够找到一种解决方法,它仍然有一些小问题。为了解决它,我执行以下操作:

首先:在 app.js 我禁用滚动如下:

if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
        cordova.plugins.Keyboard.disableScroll(true);

}

第二:注册键盘隐藏事件,keyboardHideHandler当键盘或选择控件关闭时触发:

window.addEventListener('native.keyboardhide', keyboardHideHandler);

第三:执行keyboardHideHandler如下。实施所有问题后,仅第一次发生,因此您必须使用标志isFirstTimeEdit

var isFirstTimeEdit = true; 
function keyboardHideHandler(e){
      if(isFirstTimeEdit) {
        isFirstTimeEdit = false;

        if(window.scrollY >= 20) {
          document.body.style.marginTop = "20px";
        }
      }
      window.removeEventListener('native.keyboardshow', keyboardShowHandler);
}
于 2018-05-18T04:17:05.413 回答