ArcticZeroo / flutter-search-bar

(mostly) Automatic search-enabled appBar for flutter
BSD 3-Clause "New" or "Revised" License
266 stars 69 forks source link

Missing features #5

Open ride4sun opened 6 years ago

ride4sun commented 6 years ago

I would like to see these features:

ride4sun commented 6 years ago

I can provide them if you like

ArcticZeroo commented 6 years ago

If you need to listen for text changes, I think the best way is to use a TextEditingController and call addListener to listen for changes in text values.

Feel free to implement the other two, but close/back button should probably be an option you can set in the constructor (it should default to back just for backwards compatibility).

ride4sun commented 6 years ago

Sounds good - I will provide a pull request asap

ArcticZeroo commented 6 years ago

Just to clarify, the TextEditingController can be passed as an argument to the constructor of SearchBar currently (as controller)

ride4sun commented 6 years ago

Do you mind if I create a statefull widget out of it because the clear button has a state and is only shown when the user entered text. I did see the TextEditController, I agree with ur last statement. The function of the back button stays the same. All that should be compatible with the old paradigm.

ride4sun commented 6 years ago

I think I dont need no statefull widget - forgot that setState is required

rodydavis commented 6 years ago

@ride4sun here is what I did to get those feature. https://gist.github.com/AppleEducate/932e9426b53468882717cf0f1b463a72

ArcticZeroo commented 6 years ago

@AppleEducate thanks! I'll look into adding it into master sometime in the next few days.

Personally, I would recommend setting onChanged to a new ValueNotifier rather than allowing the user to set it -- the cost of holding a ValueNotifier is pretty tiny, and eliminates what will likely be a common source of user error.

Is this module really super useful though since Flutter has a first-class search widget now?

rodydavis commented 6 years ago

@ArcticZeroo I was not aware of the first class widget? I have been using this custom class since flutter beta 2. I had to pass the onChanged because I am calling an api for search results.

are you talking about material_search ?

I also use this custom search I built: https://gist.github.com/AppleEducate/224ccdbae1d18bf41d7cd9cc85c426a2

ArcticZeroo commented 6 years ago

@AppleEducate here's some info on the first class widget (I don't see any docs for it):

https://github.com/flutter/flutter/pull/17629

https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/material/search_demo.dart

Seems a bit over-involved to me, but it's not third party I suppose 🤷‍♂️

edit: It looks like this isn't quite the same as the one this third party module does. The first class widget is more of a material_search type widget from what I can tell. So I guess it does make sense to continue development on this after all

rodydavis commented 6 years ago

I think thats why I didn't know about it. I usually go off the docs. Thanks! ill check it out 👍🏻