簡體   English   中英

有沒有辦法動態更改Flutter TextField的maxLines?

[英]Is there a way to dynamically change the Flutter TextField's maxLines?

我有一個像這樣的TextField:

new Flexible(
    fit: FlexFit.loose,
    child: new Container(
        alignment: FractionalOffset.topLeft,
        child: new TextField(
            decoration: new InputDecoration(
                  hintText: 'Add a note',
            ),
            maxLines: 1,
            onChanged: (value) => _showSaveOptions(value),
        ),
    ),
),

我想讓我的TextField開始將maxLines設置為1,但是當我輸入時,我希望maxLines增加,以便所有文本保留在頁面上,我不必向上滾動。 但是,我也不想從設置為5或10的maxLines開始,因為空TextField占用了更多的空間。 我想要實現的行為的一個示例是在Google表單中的長答案文本選項中,它以一行開頭: 在此輸入圖像描述 並在我輸入時展開: 在此輸入圖像描述

我已經考慮將maxLines設置為一個計數器,每當用戶點擊一個換行符時該計數器就會遞增,但是如何確定用戶何時填滿一行呢?

Flutter在TextField中支持多線支持。 在針對相同問題提出問題之后,在0.0.16版本中添加了多行功能。

確保將flutter升級到最新版本。 要使用多行TextField:

new TextField(
    maxLines: null,
    keyboardType: TextInputType.multiline,
) 

希望這有幫助!

它看起來像一個文本區域。 你可以試試maxLines

maxLines:8

TextField(
        maxLines: 8,
        decoration: InputDecoration(hintText: "Enter your text here", border: OutlineInputBorder(),
        labelText: 'Post Body'),
    ),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM