国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flutter 點擊輸入框之外的地方時,輸入框失去焦點

這篇具有很好參考價值的文章主要介紹了Flutter 點擊輸入框之外的地方時,輸入框失去焦點。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、 需求說明

點擊輸入框時,輸入框可以獲取焦點,點擊輸入框之外的地方時,輸入框失去焦點。

二、解決方案

1. 初始化focusNode,F(xiàn)ocusNode focusNode = FocusNode()

2. 給輸入框TextField設(shè)置focusNode

3. 在onTapOutside事件中調(diào)用focusNode.unfocus()

4. 組件銷毀前釋放focusNode,focusNode.dispose()

注意:如果Flutter SDK的版本太低的話,就沒有onTapOutside事件,更新一下Flutter SDK就有了

三、代碼分享

class _SearchInput extends State<SearchInput> {
  ///編輯控制器
  late TextEditingController _controller;

  /// 是否顯示刪除按鈕
  bool _hasDeleteIcon = false;

  /// 輸入框焦點
  FocusNode focusNode = FocusNode();

  @override
  void initState() {
    super.initState();
    _controller = TextEditingController();
  }

  @override
  Widget build(BuildContext context) {
    return TextField(
      controller: _controller,
      textInputAction: TextInputAction.search,
      textAlignVertical: TextAlignVertical.center,
      keyboardType: TextInputType.text,
      focusNode: focusNode,
      onTapOutside: (e) => {
        focusNode.unfocus()
      },
      onEditingComplete: () {
        FocusScope.of(context).requestFocus(focusNode);
      },
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
    focusNode.dispose();
  }
}

四、參考:

Flutter中焦點FocusNode使用分析Flutter輸入框焦點事件的捕捉與監(jiān)聽 - 知乎文章來源地址http://www.zghlxwxcb.cn/news/detail-606401.html

到了這里,關(guān)于Flutter 點擊輸入框之外的地方時,輸入框失去焦點的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包