【问题标题】:How to get paragraphs in Flutter textfield or textformfield?如何在 Flutter textfield 或 textformfield 中获取段落?
【发布时间】:2019-11-12 21:13:03
【问题描述】:

我正在构建一个包含备注字段的表单。我希望用户能够点击enter/return 并开始一个新段落。

我能够创建一个可以接受和显示大量文本的字段。但我特别希望用户能够创建段落,否则他们的笔记只是一个长字符串,没有中断,难以阅读和编辑。

我提交了一个问题 here,但被告知我只需要执行类似 this 的操作。

这不是我想要的。我正在尝试做类似this 的事情。

看起来这应该是可能的 (https://github.com/flutter/flutter/issues/43935)。我不知道我错过了什么。

我正在为 Web 构建,而不是 iOS 或 Android。

main.dart:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) =>Scaffold(
    body: Center(
      child: Center(
        child:TextFormField(
          textInputAction: TextInputAction.newline,
          keyboardType: TextInputType.multiline,
          maxLines: 10,
        ),
      ),
    ),
  );
}

pubspec.yaml:

name: textformfield_demo
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

【问题讨论】:

  • 这个问题可能只发生在版本1.10.15。尝试使用flutter upgrade 升级 Flutter SDK。 dev channel 上的实际版本是 1.10.16
  • @Spatz,就是这样。谢谢!

标签: flutter flutter-web


【解决方案1】:

flutter有一个属性可以设置max和min line。您可以设置 maxLine:(int) 或 maxLine: null,这里 maxLine:(int) 将用户限制为 (int) 行数,而 maxLine: null 将提供没有限制的新行文本。
作为-

class MultiLineEt extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _MyHomePageState();
  }
}

class _MyHomePageState extends State<MultiLineEt> {

  @override
  Widget build(BuildContext context) =>Scaffold(
    body: ListView(children: <Widget>[
       new TextField(
          keyboardType: TextInputType.multiline,
          maxLines: null,
        ),
  ],
    ) );
}

使用ListView防止像素错误

【讨论】:

    猜你喜欢
    • 2019-08-30
    • 2019-01-18
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 2020-02-02
    • 2021-07-22
    • 2020-04-07
    • 2021-10-05
    相关资源
    最近更新 更多