You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
6 days ago | |
|---|---|---|
| example | 6 days ago | |
| src | 6 days ago | |
| .gitignore | 6 days ago | |
| LICENSE | 7 days ago | |
| README.md | 6 days ago | |
| package-lock.json | 6 days ago | |
| package.json | 6 days ago | |
| webpack.config.js | 6 days ago | |
README.md
Tiny Components - Select
Created with Riot.js. Select Field Element, Filter-Option to connect a Observable. Using Styles for UI from Plain-UI.
Source: https://git.node001.net/tiny-components/select
Installation
Setup this registry in your project .npmrc file:
@tiny-components:registry=https://git.node001.net/api/packages/tiny-components/npm/
Install with npm or yarn
npm i --save @tiny-components/select
yarn add @tiny-components/select
How to use
<tiny-field-select></tiny-field-select>
Attribute: multiple
Select Multiple Options
Attribute: searchable
Show Input-Field for Filtering Options, only works if Observable as Store is added and has Function Query.
Props: options
Default Options for Start
Props: store
import observable from '@riotjs/observable'
let store = observable({
locations: [{
'label' : 'A',
'value' : 'a'
},{
'label' : 'B',
'value' : 'b'
},{
'label' : 'C',
'value' : 'c'
},{
'label' : 'D',
'value' : 'd'
},{
'label' : 'E',
'value' : 'e'
},{
'label' : 'F',
'value' : 'f'
},{
'label' : 'G',
'value' : 'g'
},{
'label' : 'H',
'value' : 'h'
},{
'label' : 'I',
'value' : 'i'
},{
'label' : 'J',
'value' : 'j'
}],
query(value) {
if (value !== undefined) {
const results = []
// run through locations and check string contains value
for (let i = 0; i < this.locations.length; i++) {
if (this.locations[i].value.includes(value)) {
results.push(this.locations[i])
}
}
this.trigger('update', results)
} else {
// if value is undefined, adding all locations
this.trigger('update', this.locations)
}
}
})