ArcticZeroo/flutter-search-bar

Missing features

Opened this issue · 11 comments

I would like to see these features:

  • callback called on any text change when the search app is visible
  • close button instead of the back button is more common to dismiss the appbar.
    For user it appears like that navigation never change.
  • when the searchBar gets dismissed the last update should clear the search text (maybe that can be handled in the hosting code but it would be more elegant in the searchbar) This could be activated/deactivated with a bool in the constructor

I can provide them if you like

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).

Sounds good - I will provide a pull request asap

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

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.

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

@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?

@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

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

flutter/flutter#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

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