Comments (4)
In version 2.2.4 Webpack now wraps Choices in a UMD wrapper. This means you should be able to import it using require('choices.js')
or import Choices from 'choices.js'
. If it is included directly on the page, it will be attached to the global window.
If there are any issues with the new version, let me know ASAP!
Thanks 👍
from choices.
This worked for me using Typescript
import * as Choices from 'choices.js'
from choices.
I don't know exactly why this is, but here's something strange.
In choices.js line 2175, it sets window.Choices
and module.exports
.
2175 window.Choices = module.exports = Choices;
This is in conflict with export default
in line 34.
34 export default class Choices {
I recommend:
- don't use
export default
, instead just usemodule.exports
. This allows you to make a package that can be used by both ES5 (require(...)
) and ES6 transpilers (import
). - Alternatively, just use
export default
instead; however, be aware of the caveat of this. redux-thunk is one package that follows this convention. - Avoid setting
window.Choices
explicitly. This will avoid global namespace pollution. Instead, generate a UMD build with Webpack. (I think that'slibraryTarget: 'umd'
, but i'm not much of a Webpack user...)
from choices.
I think module is just getting shadowed.
This is how I solved the problem ...
At the top of choices.js:
const CJSModule = module;
Then replace exports.default and window.Choices with:
CJSModule.exports = Choices;
Then you can:
import Choices from 'choices.js'
:)
from choices.
Related Issues (20)
- setChoiceByValue success but item is not highlighted HOT 1
- Behaviour of dropout elements on mobile device
- Choices does not behave like other HTML elements in a disabled fieldset
- iOS Firefox Virtual Keyboard / Disappearing Options Issue
- Dark Theme
- Search input outside the dropdown elements
- Can I add a choice that not existing in the choices (multiple select) HOT 1
- Wrong handling of ampersand in option text HOT 3
- to remove selected item we should click on it twice in a row (choices with Adjax-history in drupal)
- Need more sample such as Add, Edit or delete item HOT 1
- "TypeError: A is undefined" when using with importmaps + Stimulus.js HOT 1
- searchEnabled not disabled
- classNames
- Placeholder not showing HOT 3
- Mobile Cant Touch First Option HOT 1
- classNames.itemChoice is undefined in callbackOnCreateTemplates choice
- No workaroud validation when select is required HOT 1
- How can I access original option elements from the callbackOnCreateTemplates?
- Is this project still alive? HOT 5
- appendValue not working
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from choices.