A dropdown menu for Flutter.
dropdown_menu: ^1.1.0
seemain.dart
A dropdown menu for Flutter.
License: MIT License
A dropdown menu for Flutter.
dropdown_menu: ^1.1.0
seemain.dart
这个工具没有三级联动的功能
怎么获取选项的id值?代码找了半天没找到 T_T
翻了翻源码,item的点击回调在哪里?没有找到
Example is blank.
After successfully implemented your drop-down menu I would like to know how can I catch when an item is selected/changed.
Thank you for reading, nice work
Compiler message:
file:///Users/xxx/Desktop/FlutterDemo/flutter_dropdown_menu-master/lib/_src/dropdown_menu.dart:271:16: Error: A value of type '#lib1::TickerFuture' can't be assigned to a variable of type 'dart.async::Futuredart.core::Null'.
Try changing the type of the left hand side, or casting the right hand side to 'dart.async::Futuredart.core::Null'.
return onHide();
^
file:///Users/xxx/Desktop/FlutterDemo/flutter_dropdown_menu-master/lib/_src/dropdown_menu.dart:310:12: Error: A value of type '#lib1::TickerFuture' can't be assigned to a variable of type 'dart.async::Futuredart.core::Null'.
Try changing the type of the left hand side, or casting the right hand side to 'dart.async::Futuredart.core::Null'.
return _handleShow(index, true);
Either the assertion indicates an error in the framework itself,
or we should provide substantially more information in this error
message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on
GitHub:
https://github.com/flutter/flutter/issues/new?template=BUG.md
When the exception was thrown, this was the stack:
2 Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:3641:12)
3 State.setState (package:flutter/src/widgets/framework.dart:1161:14)
4 _DropdownMenuState._handleShow (package:dropdown_menu/_src/dropdown_menu.dart:316:5)
5 _DropdownMenuState.onShow (package:dropdown_menu/_src/dropdown_menu.dart:310:12)
6 _DropdownMenuState.onEvent (package:dropdown_menu/_src/dropdown_menu.dart:355:11)
7 DropdownState._onController (package:dropdown_menu/_src/drapdown_common.dart:189:5)
8 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:206:21)
9 DropdownMenuController.show (package:dropdown_menu/_src/drapdown_common.dart:39:5)
10 _DropdownHeaderState.buildItem. (package:dropdown_menu/_src/dropdown_header.dart:88:24)
11 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
12 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
13 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
14 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
15 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
16 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
17 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
18 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
19 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
20 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
21 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
25 _invoke1 (dart:ui/hooks.dart:250:10)
26 _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
(elided 5 frames from class _AssertionError and package dart:async)
The DropdownMenuController sending notification was:
Instance of 'DropdownMenuController'
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞════════════════════════
The following assertion was thrown while finalizing the widget
tree:
_DropdownMenuStatef9cfe(tickers: tracking 1 ticker) was disposed
with an active Ticker.
_DropdownMenuState created a Ticker via its
TickerProviderStateMixin, but at the time dispose() was called on
the mixin, that Ticker was still active. All Tickers must be
disposed before calling super.dispose(). Tickers used by
AnimationControllers should be disposed by calling dispose() on
the AnimationController itself. Otherwise, the ticker will leak.
The offending ticker was: _WidgetTicker(created by
_DropdownMenuStatef9cfe(lifecycle state: created, tickers:
tracking 3 tickers))
The stack trace when the _WidgetTicker was actually created was:
0 new Ticker.
(package:flutter/src/scheduler/ticker.dart:64:40)
1 new Ticker
(package:flutter/src/scheduler/ticker.dart:66:6)
2 new _WidgetTicker
(package:flutter/src/widgets/ticker_provider.dart:225:80)
3
__DropdownMenuState&DropdownState&TickerProviderStateMixin.createTicker
(package:flutter/src/widgets/ticker_provider.dart:161:34)
4 new AnimationController
(package:flutter/src/animation/animation_controller.dart:245:21)
5 _DropdownMenuState.initState
(package:dropdown_menu/_src/dropdown_menu.dart:132:27)
6 StatefulElement._firstBuild
(package:flutter/src/widgets/framework.dart:4033:58)
7 ComponentElement.mount
(package:flutter/src/widgets/framework.dart:3902:5)
8 Element.inflateWidget
(package:flutter/src/widgets/framework.dart:3084:14)
9 Element.updateChild
(package:flutter/src/widgets/framework.dart:2887:12)
10 RenderObjectElement.updateChildren
(package:flutter/src/widgets/framework.dart:4875:32)
11 MultiChildRenderObjectElement.update
(package:flutter/src/widgets/framework.dart:5208:17)
12 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
13 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
14 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
15 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
16 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
17 RenderObjectElement.updateChildren
(package:flutter/src/widgets/framework.dart:4817:32)
18 MultiChildRenderObjectElement.update
(package:flutter/src/widgets/framework.dart:5208:17)
19 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
20 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
21 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
22 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
23 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
24 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
25 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
26 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
27 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
28 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
29 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
30 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
31 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
32 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
33 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
34 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
35 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
36 RenderObjectElement.updateChildren
(package:flutter/src/widgets/framework.dart:4817:32)
37 MultiChildRenderObjectElement.update
(package:flutter/src/widgets/framework.dart:5208:17)
38 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
39 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
40 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
41 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
42 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
43 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
44 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
45 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
46 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
47 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
48 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
49 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
50 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
51 SingleChildRenderObjectElement.update
(package:flutter/src/widgets/framework.dart:5099:14)
52 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
53 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
54 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
55 StatelessElement.update
(package:flutter/src/widgets/framework.dart:3981:5)
56 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
57 SingleChildRenderObjectElement.update
(package:flutter/src/widgets/framework.dart:5099:14)
58 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
59 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
60 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
61 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
62 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
63 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
64 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
65 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
66 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
67 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
68 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
69 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
70 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
71 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
72 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
73 ProxyElement.update
(package:flutter/src/widgets/framework.dart:4219:5)
74 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
75 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
76 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
77 StatefulElement.update
(package:flutter/src/widgets/framework.dart:4085:5)
78 Element.updateChild
(package:flutter/src/widgets/framework.dart:2876:15)
79 ComponentElement.performRebuild
(package:flutter/src/widgets/framework.dart:3935:16)
80 Element.rebuild
(package:flutter/src/widgets/framework.dart:3721:5)
81 BuildOwner.buildScope
(package:flutter/src/widgets/framework.dart:2340:33)
82
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame
(package:flutter/src/widgets/binding.dart:700:20)
83
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback
(package:flutter/src/rendering/binding.dart:285:5)
84
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
(package:flutter/src/scheduler/binding.dart:1016:15)
85
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
(package:flutter/src/scheduler/binding.dart:958:9)
86
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame
(package:flutter/src/scheduler/binding.dart:874:5)
90 _invoke (dart:ui/hooks.dart:236:10)
91 _drawFrame (dart:ui/hooks.dart:194:3)
(elided 3 frames from package dart:async)
When the exception was thrown, this was the stack:
0 __DropdownMenuState&DropdownState&TickerProviderStateMixin.dispose. (package:flutter/src/widgets/ticker_provider.dart:178:13)
1 __DropdownMenuState&DropdownState&TickerProviderStateMixin.dispose (package:flutter/src/widgets/ticker_provider.dart:191:6)
2 _DropdownMenuState.dispose (package:dropdown_menu/_src/dropdown_menu.dart:147:11)
3 StatefulElement.unmount (package:flutter/src/widgets/framework.dart:4107:12)
4 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1737:13)
5 ListIterable.forEach (dart:_internal/iterable.dart:39:13)
6 _InactiveElements._unmountAll (package:flutter/src/widgets/framework.dart:1746:25)
7 BuildOwner.finalizeTree. (package:flutter/src/widgets/framework.dart:2426:27)
8 BuildOwner.lockState (package:flutter/src/widgets/framework.dart:2258:15)
9 BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:2425:7)
10 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:702:18)
11 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:285:5)
12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1016:15)
13 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:958:9)
14 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:874:5)
18 _invoke (dart:ui/hooks.dart:236:10)
19 _drawFrame (dart:ui/hooks.dart:194:3)
(elided 3 frames from package dart:async)
1 无法设置宽高,
2 无法设置弹出位置,只能在顶部弹出。
3 四个方向的偏移
点击上方的按钮,弹出下拉菜单的时候,屏幕下方会有一块区域从白色闪动成灰色
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.