GithubHelp home page GithubHelp logo

Clear choices on search about choices HOT 8 CLOSED

choices-js avatar choices-js commented on April 28, 2024
Clear choices on search

from choices.

Comments (8)

vegarringdal avatar vegarringdal commented on April 28, 2024 1

my bad, setChoises worked, sorry 😄

from choices.

vegarringdal avatar vegarringdal commented on April 28, 2024 1

great thx.

A option to the setChoises could have been a solution to
setChoices(choices, value, label, replaceChoises) if true if replaces the existing.

Is it possible to have one label for the dropdown and another one for the label that get set?
Was thinking about using the callbackOnCreateTemplates, but looks like you cant pass additional data inn with setChoises() and use them

setChoices([
            {value: 'One', label: 'Label One', otherLabel:"something else"},
            {value: 'Two', label: 'Label Two', otherLabel:"something else"},
            {value: 'Three', label: 'Label Three',otherLabel:"something else",},
        ], 'value', 'label');

callbackOnCreateTemplates: function (instance, template) {
      var classNames = instance.config.classNames;
      return {
        item: (data) => {
          return template(`
            <div class="${classNames.item} ${data.highlighted ? classNames.highlightedState : classNames.itemSelectable}"  data-item data-id="${data.id}" data-value="${data.value}" ${data.active ? 'aria-selected="true"' : ''} ${data.disabled ? 'aria-disabled="true"' : ''}>
              <span>&bigstar;</span> ${data.label}
            </div>
            `);
        },
        choice: (data) => {
          return template(`
            <div class="${classNames.item} ${classNames.itemChoice} ${data.disabled ? classNames.itemDisabled : classNames.itemSelectable}" data-select-text="${instance.config.itemSelectText}" data-choice ${data.disabled ? 'data-choice-disabled aria-disabled="true"' : 'data-choice-selectable'} data-id="${data.id}" data-value="${data.value}" ${data.groupId > 0 ? 'role="treeitem"' : 'role="option"'}>
                <span>&bigstar;</span> ${data.label} ${data.otherLabel}
              </div>
            `);
        },
      };

from choices.

vegarringdal avatar vegarringdal commented on April 28, 2024

Looks like I have a issue after all
when I use setChoises it also adds, didnt notice before I removed the text in search bar
How can I make it so its always replace the existing with setChoises

from choices.

jshjohnson avatar jshjohnson commented on April 28, 2024

Just to clarify, are you wanting to set the choices based on what a user is searching for?

Thanks

from choices.

vegarringdal avatar vegarringdal commented on April 28, 2024

Yes, and every time the "callbackOnSearch" triggers I call the server, and set the choises

from choices.

jshjohnson avatar jshjohnson commented on April 28, 2024

Ahh I understand. There is a method to clear choices but it is a private function - I'll make it public for you tomorrow!

from choices.

jshjohnson avatar jshjohnson commented on April 28, 2024

Hi @vegarringdal,

As of version 2.3.1, it is now possible to pass a replaceChoices flag when using the setChoices method. See: https://github.com/jshjohnson/Choices#setchoiceschoices-value-label-replacechoices

I'm going to look into passing additional data for templates in the future!

Thanks

from choices.

vegarringdal avatar vegarringdal commented on April 28, 2024

@jshjohnson Thx

Other options that could be useful was maybe a searchTimeout, so search dont get triggered to fast if someone if writing fast.
Also maybe a minimum dropdown size could be a nice feature, or function we could call to set before we setChoices, could calculate size we needed depending on result length.

from choices.

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.