首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

单击按钮时Flutter searchable_dropdown Ui不更新,并且在按钮的onPressed()内调用setState()

在Flutter中,当单击按钮时,如果使用了searchable_dropdown插件,并且在按钮的onPressed()方法内调用了setState()方法,但UI没有更新的话,可能是由于以下几个原因:

  1. 检查是否正确引入了searchable_dropdown插件:确保在pubspec.yaml文件中正确添加了searchable_dropdown依赖,并执行了pub get命令来获取插件。
  2. 检查是否正确使用了setState()方法:在按钮的onPressed()方法内调用setState()方法是为了通知Flutter框架重新构建UI。确保在setState()方法内部修改了需要更新的状态变量。
  3. 检查是否正确使用了DropdownButtonFormField组件:searchable_dropdown插件是基于DropdownButtonFormField组件实现的。确保在按钮的onPressed()方法内正确使用了DropdownButtonFormField组件,并将其包裹在setState()方法内。
  4. 检查是否正确设置了value和onChanged属性:DropdownButtonFormField组件需要设置value属性来保存当前选中的值,并通过onChanged属性来监听选中值的变化。确保在DropdownButtonFormField组件内正确设置了这两个属性,并在onChanged回调函数内调用了setState()方法。
  5. 检查是否正确处理了选中值的更新:如果在onChanged回调函数内调用了setState()方法,但UI仍然没有更新,可能是由于选中值没有正确更新导致的。确保在onChanged回调函数内正确更新了选中值的状态变量,并在setState()方法内部修改了该状态变量。

总结起来,当单击按钮时,如果Flutter searchable_dropdown UI不更新,可以检查是否正确引入了插件、是否正确使用了setState()方法、是否正确使用了DropdownButtonFormField组件、是否正确设置了value和onChanged属性、是否正确处理了选中值的更新。如果以上步骤都正确,但问题仍然存在,可以尝试查看插件的文档或提交问题给插件的开发者以获取更多帮助。

腾讯云相关产品推荐:

  • 如果需要在云端部署Flutter应用,可以使用腾讯云的云服务器CVM(https://cloud.tencent.com/product/cvm)来搭建Flutter开发环境。
  • 如果需要存储和管理应用的数据,可以使用腾讯云的云数据库MySQL版(https://cloud.tencent.com/product/cdb_mysql)来存储和管理数据。
  • 如果需要进行音视频处理,可以使用腾讯云的云直播(https://cloud.tencent.com/product/live)和云点播(https://cloud.tencent.com/product/vod)来实现音视频的直播和点播功能。
  • 如果需要进行人工智能相关的开发,可以使用腾讯云的人工智能平台(https://cloud.tencent.com/product/ai)来实现图像识别、语音识别等功能。
  • 如果需要进行移动开发,可以使用腾讯云的移动开发平台(https://cloud.tencent.com/product/mps)来构建和管理移动应用。
  • 如果需要进行存储和备份,可以使用腾讯云的对象存储COS(https://cloud.tencent.com/product/cos)来存储和备份数据。
  • 如果需要进行区块链开发,可以使用腾讯云的区块链服务(https://cloud.tencent.com/product/bcs)来构建和管理区块链应用。
  • 如果需要进行元宇宙相关的开发,可以使用腾讯云的云游戏(https://cloud.tencent.com/product/gs)和云VR(https://cloud.tencent.com/product/vr)来实现元宇宙的游戏和虚拟现实体验。

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和项目要求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter 中创建可拖动浮动操作按钮

本教程有一个示例,说明您需要做什么才能创建浮动操作按钮,只要它位于父小部件,就可以将其拖动到屏幕周围任何位置。 创建可拖动浮动操作按钮 我们将为这样小部件创建一个类。...一个浮动动作按钮通常可以在点击执行一个动作,所以我们添加一个名为onPressed( VoidCallback) 参数作为参数。...通常,所需行为是onPressed仅在点击按钮调用回调,而不是在拖动结束时调用。然而,当拖动结束,指针向上事件也会被触发。作为解决方案,我们需要跟踪按钮是否被拖动。...它应该更新到true指针移动。所以,我们可以检查内部onPointerUpcallback 仅onPressed在值为_isDraggingis 时调用回调false。...下面是用于创建可拖动浮动操作按钮类。它有一些参数,包括child(要设置为按钮小部件)、initialOffset(移动前初始偏移量)和onPressed单击按钮调用回调)。

5.5K10

Flutter 中 stateless 和 stateful widget 区别

出于这个原因,外观和属性在小部件整个生命周期中保持不变。 当我们描述 UI 部分不依赖于任何其他小部件,无状态小部件会很有用。无状态小部件示例是文本、图标、图标按钮和凸起按钮。...但是如果我们希望它在有动作更新,我们必须制作一个有状态小部件。 有状态小部件 当 UI 某些部分必须在运行时动态更改时,使用有状态小部件。有状态小部件可以在应用程序运行时多次重绘自己。...当我们描述 UI 部分动态变化时,有状态小部件很有用。如果我们创建一个按钮小部件,每次用户单击按钮都会更新自身,这就是一个有状态小部件。...一旦我们调用这个小部件并按下按钮,我们就会让文本字段值自动改变。 在这种类型应用程序中,我们可以通过实现. 是一种在有状态小部件类中调用方法。每次调用时,此方法都会更改有状态小部件值。...setState()``setState() 无状态和有状态区别 回顾一下我们在上面的例子中所展示内容,下表描述了无状态和有状态小部件之间区别: 无状态小部件 有状态小部件 仅在初始化时更新 动态变化

2.2K10

Flutter 状态管理之GetX库

Flutter 状态管理之GetX 前言 正文 一、创建项目 二、状态组件 三、状态更新UI 四、GetX库 ① 添加依赖 ② 局部刷新 ③ 全局刷新 五、源码 前言   Flutter使用是声明式UI...有时候快捷键生效则你可以手动点击这个闪电按钮,如果也生效就重新安装,总会生效,做开发就要有一颗平常心。...StatelessWidget(无状态小部件): 它是一个不可变小部件,意味着一旦创建就不能再更改它状态。 它属性(props)在创建被设置,并且在整个生命周期中保持不变。...三、状态更新UI   下面我们通过状态来更新UI,比如我们将点击按钮将文本内容改成大写,再点击改成小写,下面我们修改_HomePageState类中代码,如下所示: class _HomePageState...声明式UI基本上都是这种方式,了解了Flutter基本状态更新UI,下面我们再来学习一下GetX这个库。

6100

简单了解Flutter

然后我们可以尝试修改它,比如把这个primarySwatch颜色换掉:Colors.orange,然后只要我们按下Ctrl+S,修改分分钟在我们设备上生效,主题颜色立马改变了,这就是Flutter宣传吹爆热加载能力...而且Flutter是一个响应式框架,我们通过setState方法去更新一些状态,每当setState方法被调用时候,状态会被标记为dirty,然后Flutter会重新绘制。...也就是说,我们可以通过setState方法去通知界面更新。...在这里我们声明了点击调用_incrementCounter这个方法,这个方法里会通过setState更新状态并通知系统重绘,那么所有依赖_counter这个变量view都会重绘。...首先我们在FAB上方添加两个按钮来实现数字加减,我们知道我们UI整体在一个叫Columnwidget里面,我们按钮横向排列,当然得放在一个Row里面啦。

83530

小荷才露尖尖角,和Flutter应用说你好

那么,如果类比Vue 对于Vue2 传入props来控制就是受控了 内部数据有变化都可以理解为受控,并不需要像React去setState或者调用useStata去更新 对于...但是仔细一想,这样代码读起来对新手比较友好了 对新手来说,Flutter样式控制应该更加容易理解 Flutter在构建页面,会调用组件build方法,widget主要工作是提供一个...() { setState(() { _counter++; }); } 当按钮点击,就调用这个函数,改变状态会使用setState方法,这个和React类组件汇总改变状态方式很像...听说Flutter对这个方法做了优化,不需要去修改每个widget,源码还没有了解过 构建UI界面的build方法 当MyHomePage第一次创建,\_MyHomePageState...+按钮,它onPressed属性接受一个回调函数,就是onClick,呵呵 所以逻辑是这样 点击按钮调用自增函数 setState引起页面变化rebuild达到有状态!!!

7010

Flutter 构建完整应用手册-动画 顶

当我们更新数据,我们也可以使用Flutter用这些更改重建我们UI。 在我们例子中,我们将有一块数据:一个布尔值,表示按钮是可见还是不可见。...} } 3.显示切换可视性按钮 现在我们有一些数据来确定我们绿色框是否应该是可见或不可见,我们需要一种方式来更新这些数据。 在我们情况下,如果该框可见,我们想隐藏它。...为了达到这个目的,我们会显示一个按钮。 当用户按下按钮,我们会将布尔值从true更改为false,或将false更改为true。...我们需要使用setState进行更改,这是State类中一个方法。 这将让Flutter知道它需要重建部件。 注意:有关处理用户输入更多信息,请参阅食谱手册处理手势部分。...new FloatingActionButton( onPressed: () { // Make sure we call setState!

1.3K20

编写你第一个 StatefulWidget

前面一篇文章描写了一个打印helloStatelessWidget封装,接下来我们应该了解该如何封装一个简单StatefulWidget,来驱动一次交互,这个交互过程,会执行一次onPressed...让我们先来定义一个AVUpdateState 和 AVUpdate ,绘制一个垂直居中图片和按钮,_avImage变量来接收从网络获取图片,setState这个_avImage 来更新UI。...如果你对 React 很熟悉,那么这个过程和调用 React setState 非常像。...中调用 setState 方法来更新UIsetState(() { _avImage = 'https://avatars3.githubusercontent.com/u/3321837?...s=460&v=4'; }); Flutter 定义 Image 可以获取四种资源,由于这里我们是从网络中获取,因此很便捷就使用了 Image.network 来展示图片。

62110

带你快速掌握Flutter视图(Widgets)

在Android中,View是屏幕上显示所有内容基础, 按钮、工具栏、输入框等一切都是View。 在 iOS 中,构建 UI 过程中将大量使用 view 对象。...相比之下,Android/iOS视图被绘制一次,并且在调用invalidate/setNeedsDisplay之前不会重绘。...如果要根据HTTP网络请求或用户交互后收到数据动态更改UI,则必须使用StatefulWidget并告诉Flutter框架Widget状态已更新,以便更新该Widget。...可以通过将Text包装在StatefulWidget中并在点击按钮更新它来实现,如: import 'package:flutter/material.dart'; void main() {...它需要一个 Ticker 当 vsync 发生来发送信号,并且在每帧运行时创建一个介于 0 和 1 之间线性插值(interpolation)。

10.9K10

Flutter 全栈式——基础控件

Flutter中,UI小控件有两种设计风格,一种是Material设计,这是安卓官方设计风格,另一种则是Cupertino风格,是iOS官方设计风格。.../assets/widgets/owl.jpg'), ) // 调用相应命名构造方法 Image.network('https://flutter.github.io/assets-for-api-docs...bool 输入框是否为密集型,默认为false,为true,图标及间距会变小 contentPadding EdgeInsetsGeometry 间距 isCollapsed bool 是否装饰大小与输入字段大小相同...hoverElevation double 指针悬停在按钮阴影 focusElevation double 获取焦点阴影 highlightElevation double 高亮阴影 disabledElevation...默认Clip.none(裁剪) backgroundColor Color 背景颜色 padding EdgeInsetsGeometry 间距 deleteIcon Widget 添加图标按钮

3.7K40

Flutter State生命周期

2.2.1实测 写个有状态类并混入WidgetsBindingObserver配合监听特殊状态及其一个按钮调用setState, 给生命周期方法新增打印: import 'package:flutter...点击按钮打印: I/flutter (16141): 状态刷新 setState // count也+1了,说明重新调用过build。...2.2.2流程图 图解主要部分: 1.构建(build); 2.如果用户调用setState则状态刷新,重新build; 3.如果销毁先停用然后dispose销毁再结束; 构造函数 构造函数不属于生命周期...didUpdateWidget 组件更新 当组件状态改变时候就会调用didUpdateWidget(),比如调用setState(), 在widget重新构建Flutter framework...会调用Widget.canUpdate来检测Widget树中同一位置新旧节点, 然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。

79920

原来Flutter代码是这样运行在原生系统!快来了解Flutter标准模板,感受原生系统中Flutter魅力!

setState方法是Flutter以数据驱动视图更新函数,会通知Flutter框架:我这儿有状态改变,赶紧给我刷新界面!...通过该方法调用Flutter会在底层标记Widget状态,随后触发重建。示例即使修改_counter,若不调用setStateFlutter框架也不会感知到状态变化,因此界面也不会有任何改变。..._MyHomePageState通过调用build方法以相应数据配置完成包括导航栏、文本及按钮页面视图创建。 而当按钮被点击之后,其关联控件函数_incrementCounter会触发调用。...在这个函数中,通过调用setState更新_counter属性同时,也通知Flutter框架其状态发生变化。...对StatefulWidget,当数据改变,需重建Widget去更新界面,即Widget创建销毁会很频繁。

35020

轻松 Flutter 入门,秒变大前端

在最近2019年9月一次Google开发者大会中,伴随着Flutter1.9发布,目前Dart也同时更新到了2.5版本, 提供了机器学习和对C跨平台调用能力。...由于Flutter出自Google,所以,,如果在公司安装,你还需要一个方便代理切换工具, 比如:Proxifier 。...此时,就需要使用使用带状态StatefulWidget了 5.6 给页面加上状态 给自己一个需求,按钮点击,修改页面上显示文字“Hello World” 变成“You Click Me” import...相信写过小程序同学,对这个 setState 还是很眼熟 ^_^ 5.7 小结一下 StatelessWidget:无状态变更,UI静态固化Widget, 页面渲染性能更高。...11.6 不能热更新 年中时候,Google官方宣布flutter暂不官方支持热更新,但是闲鱼团队已经有了自己更新方案。关于热更新,只能静观其变了。性能、开发效率、热更新,总是要有取舍

4.1K30

Flutter 状态管理实现

二、命令式编程和声明式编程状态管理区别 iOS是如何管理状态,一般都是获取这个控件然后设置你想要状态 当你 Flutter 应用状态发生改变(例如,用户在设置界面中点击了一个开关选项)你改变了状态...应用状态,如果你想在你应用中多个部分之间共享一个非短时状态,并且在用户会话期间保留这个状态,我们称之为应用状态(有时也称共享状态)。...: () { setState(() { data++; }); }, ), ); } } 创建HYDataWidget,并且传入数据(这里点击按钮会修改数据...和setter 在setter中我们监听到_counter改变,就调用notifyListeners方法,通知所有的Consumer进行更新 void main() { runApp(ChangeNotifierProvider...重新调用builder方法来构建 在floatingActionButton中使用Consumer,当点击按钮,修改CounterNotifier中counter数据 class HYHomePage

1.1K20

FlutterFlutter 拍照示例 ( 浮动按钮及点击事件 | 底部显示按钮组件 | 手势检测器组件 | 拍照并获取当前拍摄照片 | 从相册中选择图片 )

onPressed 属性值 , 设置一个 VoidCallback?...类型值 , FloatingActionButton( // 浮动按钮点击事件 onPressed: () { } ) VoidCallback 就是参数和返回值都是空函数 ; onPressed...VoidCallback = void Function(); 二、底部显示按钮组件 ---- 调用 showModalBottomSheet 方法 , 即可弹出底部按钮组件 , 该组件由开发者定义...transitionAnimationController, }) 三、手势检测器组件 ---- 这里按钮点击使用 GestureDetector 组件 , 监听器 onTap 方法 , 用户点击 ,...: GitHub 地址 : https://github.com/han1202012/flutter_photo ( 随博客进度一直更新 , 有可能没有本博客源码 ) 博客源码快照 : https

1.5K30

setState

状态量有三个:text 输入框文字,todo列表数据,showType展现类型 1.输入框通过监听,改变text值 2.在添加按钮点击,将加入到状态值todo中 3.todo用来渲染Todo列表...6.在适宜状态值改变调用老夫setState更新 ---- 2.2:输入框监听 onChanged: (str) { text = str; }, ---- 2.3:点击按钮监听 注意收起键盘操作...坏代码就相当于你有个女友,又丑又乱,又凶又恶,有事没事给你找茬。 然而你还不得不一直面对她,问了你一句为什么这么傻,你含着泪说:"又不是..."...结语 本文到此接近尾声了,如果想快速尝鲜Flutter,《Flutter七日》会是你必备佳品;如果想细细探究它,那就跟随我脚步,完成一次Flutter之旅。...另外本人有一个Flutter微信交流群,欢迎小伙伴加入,共同探讨Flutter问题,本人微信号:zdl1994328,期待与你交流与切磋。

93820
领券