【问题标题】:Spacebar key doesn't work on a TextField only for Flutter Web Production build空格键仅适用于 Flutter Web Production 构建的 TextField
【发布时间】:2022-07-12 21:39:59
【问题描述】:

每当我尝试在 Flutter Web 发布(生产)的 TextField 内按“Space”时,它什么都不做。但是,该行为不会在 Flutter Web 调试环境中复制。 到目前为止我发现了什么:

  • Flutter Web 仅受 Chrome 浏览器支持,但截至目前 - Chrome、Safari、Edge、Firefox 都支持(See Flutter Documentation)
  • 即使在发布版本中,问题也不会在 Chrome 浏览器上重现。

更新:升级到 Flutter 2.10 后可以使用

【问题讨论】:

  • 你在什么浏览器上测试?
  • 我已经在 Brave、Microsoft Edge 和 Chrome 上进行了测试。似乎只有 Chrome 可以工作
  • 尝试使用 html Web 渲染器而不是画布套件构建 - 使用此命令:flutter build web --web-renderer html --release
  • 更新:升级到 Flutter 2.10 后可以使用
  • 我正在使用 Flutter 2.10.3,仍然面临这个问题。

标签: flutter dart flutter-dependencies flutter-web


【解决方案1】:

如果您在 Flutter web 上的 SingleChildScrollView 或 ListView 中使用 TextfieldTextFormField,空格键将不起作用。

因为它将采用滚动屏幕的默认行为。

为避免这种情况,请将可滚动小部件的 primary 属性设置为 false

SingleChildScrollView(
    primary: false,  //<------- this one, by default it is true
    child: TextFormField(...),
    )

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2022-01-22
    • 2021-04-22
    • 1970-01-01
    • 2020-08-13
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    相关资源
    最近更新 更多