Ionic-framework: 问题(表单):表单的输入、滚动、键盘问题

创建于 2016-04-19  ·  109评论  ·  资料来源: ionic-team/ionic-framework

现在,Ionic 处理表单输入的方式可以更好。 Ionic 1 在键盘处理、内容滚动等方面有很棒的表单输入默认值。 Ionic 2 需要保持一致,更重要的是,在所有平台(iOS、Android、Windows)上一致地为表单输入正常工作。

有关应在设备上运行的代码示例,请参阅此 repo: https :

安卓:

  • [x] 1. 选择输入时,应滚动整个表单内容,以便在显示键盘后可以看到所选项目。
  • [x] 2. 当键盘隐藏时,将滚动设置回原来的位置并删除添加的填充。
  • [x] 3. 触摸非输入区域会关闭键盘。
  • [ ] 4. 如果用户在填写第一个输入后选择第二个输入,则应滚动屏幕以聚焦在新选择的输入字段上。
  • [x] 5.一些键盘有下一个、上一个和完成按钮。
  • [x] 6. 支持自动更正、自动完成和自动大写及其组合。

    IOS:

  • [x] 1. 选择输入时,应滚动整个表单内容,以便在显示键盘后可以看到所选项目。

  • [x] 2. 当键盘隐藏时,将滚动设置回原来的位置并删除添加的填充。
  • [x] 3. 触摸非输入区域会关闭键盘。
  • [x] 4. 如果用户在填写第一个输入后选择第二个输入,则应滚动屏幕以聚焦在新选择的输入字段上。
  • [ ] 5. 一些键盘有下一个、上一个和完成按钮。 这些应该连接到页面上的表单输入中,以允许用户循环输入选项。
  • [x] 6. 支持自动更正、自动完成和自动大写及其组合。

_请注意,此问题与幻灯片组件中的表单或输入无关。 那将是要执行的单独一致性检查。_

哪个离子版本? 2.x

从终端/cmd 提示符运行ionic info :(在下面粘贴输出)
科尔多瓦 CLI:6.1.1
离子框架版本:2.0.0-beta.4-201604170622
离子 CLI 版本:2.0.0-beta.24
离子应用程序库版本:2.0.0-beta.14
操作系统:
节点版本:v5.7.0

最有用的评论

亲爱的离子团队( @manucorporat@brandyscarney@adamdbradley
我知道您正在努力开发下一个版本,但这些键盘问题对于应用体验来说非常重要。 请考虑给他们一个高优先级,以及其他长期存在的问题,如虚拟滚动。
巨大的应用程序大小和缓慢的启动很糟糕,好吧,但是当应用程序安装并运行时,它应该在键盘处理等基本事情上提供适当的体验。

所有109条评论

@dylanvdmerwe这太棒了,谢谢你把它放在一起! 至于使用下一个和上一个按钮来上下切换输入,这应该可以工作,但最近可能出现问题。

也适用于自动完成和自动更正,默认情况下它们被禁用,除非它们被特别添加到元素中: https :

您认为默认情况下也应该禁用自动大写吗?

@亚当布拉德利

  • 我无法让 iOS 上的键盘按钮在各种输入之间切换。 他们变得“困惑”,键盘最终会关闭。 当我使用具有这些按钮的其他键盘进行测试时,仍然需要在 Android 上进行测试。
  • 不确定什么最适合自动完成和自动更正的默认值。 在 iOS 中,某些键盘类型默认启用它们 - 但我认为最好遵循标准的<input>规则?
  • 稍后我将测试自动完成和自动大写的一些排列。 请注意当键盘插件更改时,我

请注意,我正在实际设备上测试这些。

@adamdbradley我已经更新了上面的项目。 突出的事情是确定可重现的问题。

我们在 Android 问题 #1 上在哪里? 没有它就完全搞砸了我的应用程序。

+1 Android 问题 #1 :)

本期所列项目有任何变动吗?

@dylanvdmerwe在下一个测试版发布 (beta8) 后,我们将专注于解决此类问题。 不便之处请见谅

+1 Android 问题 #1 :)

+1 在 Android 问题上:

. 选择输入时,应滚动整个表单内容,以便在显示键盘后可以看到所选项目。

这阻止了我从 ionic1 完全移植到 ionic 2 。
祝一切顺利!

这阻止了我从 ionic1 完全移植到 ionic 2 。

同样在这里。

+1 Android 问题 #1
请尽快解决这个问题! 我们为此启动了一个新应用程序,但不希望此错误成为交易破坏者并让我们回到 ionic 1!

@adamdbradley , @jgw96现在有一些解决方法吗?

你能提供更新吗? 很难演示这个主要功能不起作用......
谢谢!

我也很感激这方面的更新。 我们的ion-input元素在聚焦时不会滚动到视图中。 我们尝试切换到普通的input元素,但这会导致各种其他问题。 谢谢!

大家好! 我可以向您保证,我们正在努力解决此类问题。 大家主要是在ios还是android上看到这个问题? 还是两者都发生?

发生在android上,不确定ios。 现在,只有当我开始输入时,UI 才会向上滚动以显示输入。 理想情况下,它应该在聚焦和键盘弹出后立即发生。

你好,

我在设备上的 iOS 上看到了更多问题(尚未在 Android 上检查):

  • 使用浮动标签,当点击一个输入时,它通常会在值前临时显示一个空行,导致值向下跳,输入垂直扩展。 对于普通标签,该值有时会暂时水平移动。
  • 使用浮动标签,滚动时插入符号会跳到输入之外。
  • 当使用cordova 键盘插件并使用辅助栏在字段之间导航时,整个视图有时会跳跃。 设置 disableScroll(true) 后,下一步按钮工作正常,但后退按钮仍然导致屏幕跳转。 不确定是否应该在那里报告?

感谢您在 Ionic 上所做的出色工作,期待解决问题!

Android 中的键盘和离子输入也有同样的问题。 所有带有表单的应用程序的非常重要的问题!

没有关于这个关键问题的更新?

关于这个问题的任何更新?

希望在即将到来的 RC 中看到这一点。

对此进行更新。 #5 对于 iOS 我无法重现。 这对我来说很好用,有人可以确认吗?

现在看#1。

我面临同样的问题。 是否有任何更新? .

在 iOS #1 在大屏幕 (iPad) 上效果不佳。 输入滚动到最顶部,而让它更靠近键盘会很整洁。

你好,

花了一些时间来调查这个问题,因为它发生在我们这边的几个设备上。

安卓:

  • 启用 scrollAssist 时看起来不错
  • 当键盘已经打开(页面向上滚动太多)时,从一种离子输入切换到另一种离子输入时仍然存在一些错误。

IOS:

  • 第一次,页面不滚动
  • 第二次,页面任意输入,页面准确向上滚动
  • 与Android相同,在字段之间切换时,页面滚动过多。

经过一番搜索,我们发现scoolView.scrollTo 使用了scrollTop HTML 属性。
此属性受理论值限制:scrollHeight - clientHeight。

我们刚刚在 scroll-view.js (node_modules/ionic-angular/util/) 中添加了以下几行:
console.log(fromY + ' =>' + y);
console.log('最大理论值:' + (this._el.scrollHeight - this._el.clientHeight));
问题似乎很明显。

由于某些原因,当您将字段聚焦在Android上时,键盘是在向上滚动之前生成的,因此最大理论值优于我们要向上滚动的值。 在 iOS 上,第一次,情况并非如此。 所以最大向上滚动值是一。

轮到你了 ;)

@EDumdum如何复制此问题? 当我在输入中获得焦点并且键盘已经向上并切换到下一个输入时,下一个输入会滚动到标题下方。 它不是为你做的吗?

当键盘已经打开(页面向上滚动太多)时,从一种离子输入切换到另一种离子输入时仍然存在一些错误。

@adamdbradley

下面的步骤创建示例。 屏幕截图来自模拟器,但我们在设备上重现了相同的行为。 表单在这里添加了一些颜色(蓝色 = 聚焦字段,红色 = 其他字段)。

重现步骤

创建示例的步骤

  • 创建了一个新项目(ionic start -v2 myApp)=> RC2
  • 在我的应用程序构造函数中添加了 scrollAssist
    constructor(config: Config, platform: Platform) { config.set('scrollAssist', true); ... }
  • 修改了我的 home.html & home.ts & 一些添加到 .scss

<ion-header> <ion-navbar> <ion-title>Home</ion-title> </ion-navbar> </ion-header> <ion-content padding> <div class='takePlace'>Bla bla</div> <form novalidate [formGroup]="form"> <ion-item> <ion-input type="tel" pattern="[0-9]{3}" formControlName="dummyField"></ion-input> </ion-item> <ion-item> <ion-input formControlName="dummyField2"></ion-input> </ion-item> </form> </ion-content>

import { Component } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @Component({ selector: 'page-home', templateUrl: 'home.html' }) export class HomePage { public form: FormGroup; constructor(private formBuilder: FormBuilder) { this.form = this.formBuilder.group({ dummyField: ['', [Validators.required, Validators.pattern('[0-9]{3}')]], dummyField2: ['', [Validators.required, Validators.pattern('[0-9]{3}')]] }); } ngOnInit() { } }

.takePlace { height: 300px; border: 1px solid red; }

每晚构建都会正确移动它们的输入字段,但是当您按下后退按钮并且键盘向下滑动时,某些地方的输入会保持原位(向上滑动),它们应该到达原始位置。
其次,我无法在模拟器上打字,因为它迫使我在屏幕键盘上打字,而 emu 没有显示。

@kodeine
image

非常感谢您的反馈! 我会将所有这些注释用于各种测试场景。 我会尽快尝试每晚出去,以便每个人都可以测试一下,谢谢!

@亚当布拉德利
另一种情况,我在一个有输入且键盘打开的页面上,我单击后退按钮并注意到选项卡也在键盘顶部。 所以也许我们需要将标签保留在键盘后面。

相关: https :

它在夜间效果更好!

不过,我发现最近的变化引入了一个错误。 如果输入 A 具有焦点并且您点击输入 B,则键盘会隐藏并且所有输入都不会具有焦点。

此外,当聚焦输入时,它“跳”到位置,而不是像在 Safari 中聚焦输入时那样平滑的滚动动画,这是有意的吗?

编辑:这是使用 WKWebView。 没有测试过 UIWebView。

我真的很想知道是否会支持输入的“下一步”按钮。
用户(android,不确定ios)很难不按下提交/确定按钮,认为它会转到下一个输入而不是完成表单操作。

@biesbjerg你能描述更多如何重现这些问题吗? 当你说它跳到位时,标题会被滚动吗? 哪种类型的输入? 输入是在应用程序的顶部还是底部附近? 你能提供一个问题的视频吗? 谢谢

@adamdbradley这段视频显示了“跳到位置而不是平滑滚动”,还显示了我注意到的一个错误,即如果您专注于输入并按下后退硬件按钮,它不会向后滚动内容。
编辑:更改了 gif 大小。

ezgif com-cb02e8c895

@adamdbradley这是输入焦点问题,键盘消失而不是聚焦点击的输入。

focus-keyboard

这是在 Android 上,在焦点上,我的表单突然跳转,第一个焦点输入在屏幕上不可见:

keyboard-jump

你好@biesbjerg ! 我们最近发布了另一个夜间版,其中包含更多针对输入滚动的修复,您介意尝试一下吗? 谢谢!

@jgw96嗨! 我测试了 2.0.0-rc.3-201611302233 并且没有任何改变,所以 gif 录音仍然是有效的问题。

感谢您测试@biesbjerg ! 你能发布一个 repo 或创建一个我可以用来重现这个问题的 plunkr 吗?

@jgw96给你! https://github.com/biesbjerg/6228-ionic-keyboard-issues

脚步:

  1. git clone https://github.com/biesbjerg/6228-ionic-keyboard-issues.git
  2. cd 6228-ionic-keyboard-issues
  3. npm install
  4. mkdir www (由于需要存在www或插件安装失败的cordova / ionic错误而需要)
  5. ionic state reset
  6. 在设备上运行

iOS 视频中显示的问题是 UIWebView 和 WKWebView 的问题。

Android 问题与我的内容使用 flexbox 垂直居中有关,但即使如此,它也应该表现正常。

你好@biesbjerg ! 感谢您的回购。 今天滚动发生了更多变化,可能会解决这个问题,我将在测试后用我的发现更新这篇文章。

嗨@jgw96! 凉爽的! :-)

Touching an area that is not an input dismisses the keyboard.

我看到这部分(以及其他部分)旁边有一个支票; 这是否意味着它将出现在下一个版本中? 这对于在键盘顶部的<ion-footer>中具有发送按钮的聊天应用程序来说非常棒! 然后在单击发送按钮后键盘不会总是关闭

嗨,大家好。 我也有同样的问题。 我观察到一些事情。
当未选择输入时,我们会遇到这种情况。

1jpg

但是当我们选择它时,我们有这个

2

结果我用 !important 做了那糟糕的一步

3

它适用于我作为临时解决方案。

所以......当你有一些使用position:relative 的东西时,事情会变得非常混乱

在这个例子中,logo 是具有相对位置的元素,如果你按下第一个输入,它会变成这样:
outro

但是按下第二个输入也会推动徽标:
photo569187513406696003

@jgw96关于这个问题和

我也真的很希望有关于这个问题的任何消息,我的客户正在施加很大的压力🙉

好消息是输入在最新的夜生活中表现得更好。 我想很多人,包括我这个问题的原始记录者,都会对修复感到满意。

@yannbf公平地说,Ionic 2 仍然是预发布软件。

我理解这一点,并认为这非常合理。 我只是希望有一个更新来传递它。 我非常感谢 ionic 团队所做的一切。

无论如何,如何在每晚测试我当前的应用程序?

@yannbf npm install ionic-angular<strong i="6">@nightly</strong> --save
并且不要忘记将您的 package.json 更新为 angular 2.2.1

夜间效果更好! 谢谢你们

大家好! 感谢您使用 Ionic! @biesbjerg@yannbf ,你们介意更新到rc4并进行测试吗? 该版本有大量的输入滚动修复,希望能解决你们的问题。 谢谢!

@jgw96是的,已经做到了。 好多了! 期待最终版😄

@jgw96更新后事情变得更好了,但带有position:absoluteposition:fixed元素仍然受到影响。 我能够绕过那个带有徽标的页面,我之前发送了一个打印件(使用另一种方法,删除绝对位置),但是在下一页中,我必须在页面底部有“协议条款”,我仍然面临这个问题:

selection_002

这是代码:

<div class="agreement-text">
    <p>paragraph's content..</p>
</div>

和 CSS:

.agreement-text {
    position: fixed;
    padding: 10px;
    margin-top: 40px;
    bottom: 0;
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
    a {
      color: rgb(250, 231, 124);
    }
}

就我而言,更新到 RC5 后,Android 上的跳转输入问题仍然存在。 我刚刚使用空白模板开始了一个新项目,并将文档中的离子输入组件复制到离子内容中,行为如下。

jumping input

正如您所看到的,除了第一个组件之外,每个组件都会跳转。
作为记录,这是ionic info命令的输出。

科尔多瓦 CLI:6.4.0
离子框架版本:2.0.0-rc.5
离子 CLI 版本:2.2.1
离子应用程序库版本:2.2.0
离子应用脚本版本:1.0.0
ios-deploy 版本:未安装
ios-sim 版本:未安装
操作系统:Windows 10
节点版本:v6.9.2
Xcode 版本:未安装

@almr193这种行为看起来是正确的。 当键盘在移动设备上可见时,屏幕会滚动。 滚动确保突出显示的输入始终可见,并且不会被屏幕键盘覆盖。

@dylanvdmerwe感谢您的快速回复,我呈现的场景看起来是正确的,我知道当键盘在屏幕上显示时屏幕会滚动。 但是,我有另一个奇怪的场景,其中ion-listion-input启用了项目重新排序。 输入越界,用户无法看到正在写入的内容。

jumping

@almr193是的,不幸的是,这仍然是一个未解决的问题。
请参阅上面初始帖子的 Android 项目 1) 和 4)。

+1 仍未解决。 离子原生键盘中的任何方法似乎对 Android 都没有帮助

我在使用幻灯片 + 输入时遇到问题。 它通过不执行任何滚动显示出一种非常奇怪的行为。

ezgif com-resize

+1

科尔多瓦 CLI:6.4.0
离子框架版本:2.0.0
离子 CLI 版本:2.1.18
离子应用程序库版本:2.1.9
离子应用脚本版本:1.0.0
ios-deploy 版本:未安装
ios-sim 版本:5.0.13
操作系统:macOS Sierra
节点版本:v6.9.4
Xcode 版本:Xcode 8.2.1 构建版本 8C1002

+1

这仍然是最新最好的cordova和ionic的问题。

有解决方案或解决方法吗?

- 更新 -

当您开始输入时,输入会滚动到视图中,但当键盘最初显示时,输入会被键盘遮挡。

——

Your system information:

Cordova CLI: 6.5.0 
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.9.1 
ios-sim version: 5.0.13 
OS: OS X El Capitan
Node Version: v6.1.0
Xcode version: Xcode 8.2.1 Build version 8C1002

初始画面

image1

选择域输入元素后的屏幕

image2

亲爱的离子团队( @manucorporat@brandyscarney@adamdbradley
我知道您正在努力开发下一个版本,但这些键盘问题对于应用体验来说非常重要。 请考虑给他们一个高优先级,以及其他长期存在的问题,如虚拟滚动。
巨大的应用程序大小和缓慢的启动很糟糕,好吧,但是当应用程序安装并运行时,它应该在键盘处理等基本事情上提供适当的体验。

必须在这里插话

  • #9633
  • 第9518章
  • #9514
  • #8607

这些似乎只是任其腐烂,而团队添加了公认的不错的功能,例如最近的拆分窗格。

问题是,如果核心功能仍然以某种明显的方式被破坏,那么添加新功能真的没有意义。 可以说在添加到框架之前先把基本的东西弄对更重要。

热爱所有的辛勤工作,但这里的优先级似乎是错误的。

伙计们,确定优先级和修复问题的最佳方法是提供 _reproducible 代码_,Ionic 团队可以测试并找到问题。 屏幕截图和 gif 是史诗般的,但它们可以用来查看您的问题的代码是最好的。 #2cents

请注意,对于表单和输入,不要使用display: absolute来定位事物。

我也有这些问题。 这不是一个小问题。 这怎么会成为一个问题,现在似乎没有修复?

聚焦输入字段时遇到问题,每次单击该字段时屏幕都会上下移动。 有人能帮助我吗?
teste

离子框架版本:2.3.0
离子 CLI 版本:2.2.2
离子应用程序库版本:2.2.1
离子应用脚本版本:1.1.4
ios-部署版本:1.9.1
ios-sim 版本:5.0.4
操作系统:macOS Sierra
节点版本:v7.2.0
Xcode 版本:Xcode 8.2.1 构建版本 8C1002

@pedrodurek如果您提供一个 plunker 以便 ionic 人员可以复制,那就太好了。

我找到了解决文本跳跃问题的临时解决方法。 这不是修复,而是在实施更好的修复之前本质上是一种黑客攻击。

首先,确保你有这些设置:

this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);

接下来,在您的 app.module.ts 中,找到以下内容:

IonicModule.forRoot(YourApp)

并使它像这样:

IonicModule.forRoot(YourApp, {
      scrollAssist: false,
      autoFocusAssist: false
    }),

这解决了我遇到的任何跳跃问题,但不幸的是,它会在用户键入时将导航栏推离屏幕。 不过,这似乎是我注意到的唯一不良副作用。

@Tyler-Darby 感谢分享您的解决方案,这不是最好的解决方案,但它是一个合理的解决方案,并且对我有用。

我遇到了这个问题,它让我发疯,但我最终发现这是由于将transform: translate3d(0,0,0)应用于元素以强制硬件加速引起的。 事实证明,当键盘出现时,会破坏输入焦点。

我相信这不是每个人的问题的原因,但希望它可以帮助某人。

我有多个平台,我正在修复它...

我放入 app.component.ts:

constructor(
                ...
                public config: Config,
        ) {
                // all platforms
        this.config.set( 'scrollPadding', false )
        this.config.set( 'scrollAssist', false )
        this.config.set( 'autoFocusAssist', false )
        // android
        this.config.set( 'android', 'scrollAssist', true )
        this.config.set( 'android', 'autoFocusAssist', 'delay' )
               ...

也许这对某人有帮助。
谢谢大家的提示;)

检查视频:
https://www.dropbox.com/s/6p49z0chle9g1b9/git-ios-input.mov?dl=0

环境信息:
全局包:

@ionic/cli-utils : 1.3.0
Cordova CLI      : 7.0.1 
Ionic CLI        : 3.3.0

本地包:

@ionic/app-scripts              : 1.3.7
@ionic/cli-plugin-cordova       : 1.3.0
@ionic/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms               : ios 4.4.0
Ionic Framework                 : ionic-angular 3.3.0

系统:

Node       : v7.10.0
OS         : macOS Sierra
Xcode      : Xcode 8.3.2 Build version 8E2002 
ios-deploy : 1.9.0 
ios-sim    : 5.0.8

我用<input/>作为<ion-input></ion-input>
试试吧。

@maulikakapure

我正在为我的公司开始我的第一个 ionic 应用程序,我也遇到了键盘滚动/聚焦问题。 显然,您找到了已在视频中展示的解决方案。 能提供源代码吗? 我还没有找到要使用的解决方法、配置参数和 html 标签的正确组合。

谢谢

@Tyler-Darby 嘿,Tyler,我该把下面的代码放在哪里?

this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);

@cwiejack

请在此处查看一个简单的演示: https :

谢谢。

要修复 Ionic 的默认关键字问题,只需将以下内容放入 app.module.ts 的导入中:

    IonicModule.forRoot(MyApp, {
      scrollAssist: false,
      autoFocusAssist: false
    })

这将立即解决键盘问题。

@aplimovil这解决了我的 android 应用程序上的问题! 为你这个好人喝彩!

如果将scrollAssistautoFocusAssist设置为true会使应用程序无法使用,那么有什么意义呢?

在任何情况下启用它们会带来一些好处吗?

aplimovil 的修复似乎解决了我遇到的所有问题!

所以,是的,我很想知道你为什么将其中任何一个设置为 true。

@JefferE这是因为 Ionic 的 scrollAssist 和 autoFocusAssist 功能在 iOS 中被破坏了(在 Android 中它们几乎可以正常工作,尽管至少对我来说这些增强功能几乎没有被注意到)并且似乎没有足够地注意到这里的所有问题报告,因此他们修复了它在即将发布的版本中。 希望他们有一天会注意到这个线程并在 iOS 上修复这些功能,或者在 iOS 中默认情况下有选择地关闭它们。

当网格中的 ion-textarea 时,keyboard.disablescroll(false) 不起作用?如何解决这个问题

这对我有用

imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp, {
            scrollPadding: false,
            scrollAssist: true,
            autoFocusAssist: false

    }),

离子信息:

CLI Packages:

@ionic/cli-utils  : 1.10.2
    ionic (Ionic CLI) : 3.10.3

global packages:

    Cordova CLI : 7.0.1 

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : android 6.2.3
    Ionic Framework    : ionic-angular 3.6.1

System:

    Android SDK Tools : 25.2.5
    ios-deploy        : 1.9.1 
    ios-sim           : 5.0.8 
    Node              : v6.11.3
    npm               : 3.10.10 
    OS                : macOS Sierra
    Xcode             : Xcode 8.3.3 Build version 8E3004b 

只是想让你们知道我在iOS上有一个类似的问题,即键盘在输入字段上滚动并且内容屏幕没有更新为键盘腾出空间。

我发现的重要一点是在使用插件时(如@ionic-native/keyboard)
并在键盘显示this.keyboard.onKeyboardShow().subscribe(()=>{ this.someFlag=true})并使用界面中的标志进行更改时对您的界面进行操作。 它不会改变,您必须通过导入ChangeDetectorRef并在subscribe使用其detectChanges()函数来自己触发角度变化检测。

我创建了这个 gitrepo来展示这个案例。 随意看看。 这让我大开眼界,因为我没有意识到在某些情况下您subscribe(()=>{})对某事进行了更改,但不会显示在界面中。

今天变得更聪明了:)

最后一件事:祝大家周末愉快!

令我感到困惑的是,这个问题已经超过 1.5 年了,却没有采取任何行动。 这完全破坏了我的应用程序的流程。 它让它看起来有缺陷和质量很差,我们不得不通过黑客来让事情变得接近好看。 @mhartington内部有什么事情吗?

我与 Ionic 的@matthewkremer进行了电话交谈,作为现在使用 ionic 的 PRO 版本的后续行动,并强调这是一个主要问题。 他说他理解并将努力将其推向更高的优先级。

我也是。 这一点都不好看。。

大家好,这正成为我们的首要任务,请参阅今天早上@adamdbradley的推文: https : //twitter.com/adamdbradley/status/916295747968040960

预计未来几天/几周的更新

听起来不错,我希望我们能尽快恢复生活,而不会应用不必要的黑客攻击。

对于已经使用 WK 的人,我正在准备一个新的键盘插件: cordova-plugin-ionic-wkkeyboard

  1. 首先卸载ionic-plugin-keyboard
cordova plugin rm ionic-keyboard-plugin --save
  1. 安装新插件:
cordova plugin add cordova-plugin-ionic-wkkeyboard --save

抄送@hitendramalviya @ionut-movila @mmolhoek @Tyler-Darby @yingbaby @maulikakapure @aplimovil

这个新的 wkkeyboard 和使用 FormGroups 和 FormControls 禁用/启用 ion-textarea 有一个奇怪的问题。 重新启用完整表单后,离子文本区域保持禁用状态。 使用“旧”键盘时不会发生这种情况。

我今晚会创建一个问题:)。

// 编辑:
可能这是一个与其他事情有关的问题。 浏览器中的行为相同。
https://github.com/ionic-team/ionic/issues/13170

如果键盘根本不触发调整大小,更不用说滚动输入,我应该寻找什么?

看起来滚动问题应该已经解决了,但我仍然在 ios 上遇到问题,当输入位于屏幕中间时,当键盘向上时,输入不会滚动到。 当输入被点击或我使用键盘导航键时,这都是一个问题。 我错过了什么吗? 我已经尝试了这里介绍的一堆解决方案,但它们似乎不起作用。 (有关其他信息,我在浏览器中使用 Ionic 而不是本机应用程序)

哇 2018 年什么都没有。

他们给了我这个解决方案,但它并不完美

.滚动内容{
填充底部:0!重要;
}

大家好,我不小心发现默认版本有 _cordova-plugin-ionic-keyboard_。 当我用 _ionic-plugin-keyboard_ 替换它时,输入错误消失了。

所以我的解决方案是:
cordova 插件 rm 离子键盘
离子科尔多瓦插件添加离子插件键盘
npm install --save @ionic-native/keyboard

+1

仇杀,我试过了,但没有用!

你有标题工具栏这个烦人的错误吗?

2018 年 3 月 29 日星期四晚上 11:31,Emmanuel Fache通知@ github.com
写道:

仇杀,我试过了,但没有用!


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/ionic-team/ionic/issues/6228#issuecomment-377362762
或静音线程
https://github.com/notifications/unsubscribe-auth/AYPMdggjRqZBZ0wghtxFjVbPLViBkR8hks5tjUSQgaJpZM4IKhUp
.

如果您仍然遇到此问题,请尝试使用较新的离子键盘插件

ionic cordova plugin rm  ionic-keyboard-plugin
ionic cordova plugin add cordova-plugin-ionic-keyboard

然后设置

<preference name="KeyboardResizeMode" value="ionic" />

在 config.xml

你好,
在我正在使用的应用程序中,一切正常。 但由于某种原因,我必须使用 html 表中的输入。 在这种情况下,每当我点击输入时,它都会重绘表格,并重置表格的滚动。
有人可以帮忙吗?

也看到了转换问题的发生。 这很烦人。
video-to-gif

对于滚动 pb,我在这里写了一个 hack: https :

AbrahamLopez10 于 2017 年 8 月 1 日发表的这条评论对我来说非常

@ dylanvdmerwe@jgw96 @mhartington @Tyler-Darby @manucorporat @adamdbradley

大家好,我刚刚创建了一个自定义指令来处理 Ionic 2 和 3 应用程序在 iOS 和 android 平台上的这个问题。 您能否检查一下这是否解决了与此滚动问题相关的所有问题。

我使用scroll-into-view-if-needed ponyfill来制作这个指令

安装运行命令npm install ion-input-scroll-into-view ion-input-scroll-into-view 指令

第1步
将 ion-input-scroll-into-view 指令附加到 ion-input 或 ion-textarea ,如下所示。

<ion-input ion-input-scroll-into-view></ion-input>

<ion-textarea ion-input-scroll-into-view></ion-textarea>

第2步

您必须在父组件的 module.ts 中导入 IonInputScrollIntoViewModule,如下所示

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ParentPage } from './parent';
import { IonInputScrollIntoViewModule } from 'ion-input-scroll-into-view';

@NgModule({
  declarations: [
    ParentPage
  ],
  imports: [
    IonicPageModule.forChild(ParentPage),
    IonInputScrollIntoViewModule
  ],
})
export class ParentPageModule {}

npm 链接: https ://www.npmjs.com/package/ion-input-scroll-into-view
github 链接: https :

感谢您的问题! 我们已经将 Ionic 3 的源代码和问题移到了一个单独的存储库中。 我正在将此问题移至 Ionic 3 的存储库。请在那里跟踪此问题。

感谢您使用 Ionic!

问题移至: https :

此页面是否有帮助?
0 / 5 - 0 等级