Giter Club home page Giter Club logo

Comments (3)

lcuis avatar lcuis commented on August 22, 2024

Hello Hesham,

Thanks for your feedback. It is important for me that this plugin (latest version not yet on pub.dev) and my version work in Arabic.

Allow me to ask whether there is any drawback you see apart from what you mentioned using this plugin in Arabic? For example, is the right-to-left working as expected or could it be better?

To answer your question, in order to access something else than the value, you have 2 possibilities:

  1. Use the searchFn as introduced in PR #11 and requested in issue #1 .
    or
  2. Use an object as shown below and inspired by the latest example main.dart:
class ExampleNumber {
  int number;

  static final Map<int, String> map = {
    0: "صفر",
    1: "واحد",
    2: "اثنان",
    3: "ثلاثة",
    4: "أربعة",
    5: "خمسة",
    6: "ستة",
    7: "سبعة",
    8: "ثمانية",
    9: "تسعة",
    10: "عشرة",
    11: "أحد عشر",
    12: "اثني عشر",
    13: "ثلاثة عشر",
    14: "أربعة عشر",
    15: "خمسة عشر",
  };

  String get numberString {
    return (map.containsKey(number) ? map[number] : "unknown");
  }

  ExampleNumber(this.number);

  String toString() {
    return ("$number $numberString");
  }

  static List<ExampleNumber> get list {
    return (map.keys.map((num) {
      return (ExampleNumber(num));
    })).toList();
  }
}
...
SearchChoices.single(
        items: ExampleNumber.list.map((exNum) {
          return (DropdownMenuItem(
              child: Text(exNum.numberString), value: exNum));
        }).toList(),
        value: selectedNumber,
        hint: "Select one number",
        searchHint: "Select one number",
        onChanged: (value) {
          setState(() {
            selectedNumber = value;
          });
        },
        dialogBox: true,
        isExpanded: true,
      )

See the result where I can search for a number either through Arabic letters or through numbers:
image

from searchable_dropdown.

icemanbsi avatar icemanbsi commented on August 22, 2024

Hi @heshaShawky
I've published the update (thanks @lcuis ) on pub.dev.
I'll close this issue and feel free to reopen if you think this issue is not solved yet.
Thanks

from searchable_dropdown.

lcuis avatar lcuis commented on August 22, 2024

Thanks @icemanbsi for the publication!
@heshaShawky , I forgot to mention an important aspect of the object solution, it is based on the use of the toString method. This method is the reason for the search to work for this object.

from searchable_dropdown.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.