1.0.43 • Published 5 years ago

vue-g-select v1.0.43

Weekly downloads
2
License
Apache-2.0
Repository
github
Last release
5 years ago

Select компонента для Vue2

Установка

Из репозитория:

    npm install --save-dev git+https://github.com/ibabasik/g-select.git

Подключение

Глобально:

    Vue.component('g-select',require('vue-g-select'));

Внутри конкретного компонента:

module.exports = {
    ...
    components: {
        'g-select': require('vue-g-select')
    },
    ...
}

Использование

    new Vue({
        el:'#root',
        data:{
            chosenId:1,
            pokemons:[
                {id:1, name:'Pikachu',type:'electric'},
                {id:2, name:'Bulbasaur',type:'grass'},
                {id:3, name:'Charmander',type:'fire'},
                {id:4, name:'Squirtle',type:'water'},
                {id:5, name:'Eevee',type:'normal'},
                {id:6, name:'Jigglypuff',type:'fairy'},
                {id:7, name:'Zubat',type:'flying'},
                {id:8, name:'Pidgey',type:'flying'},
                {id:9, name:'Rattata',type:'normal'},
                {id:10, name:'Drowzee',type:'psychic'},
                {id:11, name:'Paras',type:'grass'}
            ]
        }
    ...
    })
<g-select :options="pokemons" :bind-id="true" id-path="id" v-model="chosenId"></g-select>

Больше примеров в example.html

Параметры

ИмяТипЗначение по умолчаниюОписание
optionsArraynullМассив опций селекта. Может быть из объектов или простых типов
valueObject/String/NumbernullЗначение, которое будет выбрано изначально. Так же, можно менять выбранное значение селекта, меняя значение переданного параметра
multipleBooleanfalseМожно ли выбирать сразу много значений. Если да, то выбранное значение будет массивом
textPathString'name'Имя поля в объекте опции, которое будет отображаться в списке
bindIdBooleanfalseВыбирать ли из выбранной опции только идентификатор или брать весь объект
idPathString'id'Имя поля идентификатора в объекте опции
placeholderStringnullЧто отображать, пока значение не выбрано
hasFilterBooleanfalseНужно ли поле поиска по опциям
noResultsTextStringnullТекст, отображаемый, если список опций пуст (в т.ч. из-за фильтра)
customFilterFunctionnullФункция кастомного фильтра. Должна принимать опцию и строку фильтра и возвращать true, если опция попадает под фильтр и false если нет. Так же функция может возвращать объект из 2 полей: 'result', содержащий true/false, как в первом случае и 'order', указывающий порядок данного элемента в конечном списке
addNullValueBooleanfalseДобавить ли в список пустую опцию, имеющую выбранное значение null
nullValueTextString'Not selected'Что отображать в списке на месте пустой опции
addClearButtonBooleanfalseОтображать ли кнопку 'отчистить значение' при режиме выбора одиночного значения
populateFunctionnullФункция для асинхронной подгрузки опций. Вызывается при изменении фильтра. Принимает параметр - значение фильтра. По получению опций должна переприсвоить массив options
populateTextString'populating...'Текст, отображаемый, пока идет асинхронный запрос (пока не будет переприсвоен массив options)
maxDropdownHeightString/NumbernullМаксимальная высота выпадающего списка
disabledBooleanfalseЗаблокирован ли элемент
autoCloseBooleanfalseЗакрывать ли список по выбору элемента для множественного выбора

События

input

Параметры события:

  • выбранное значение
  • выбранная опция

Параметры отличаются, если задан параметр bindId: в этом случае выбранное значение - это только идентификатор, а выбранная опция - весь объект

Использование v-model

Для двусторонней привязки выбранного значения вместо пары :value и @input можно использовать директиву v-model.

Шаблоны

item-template

Шаблон, как отображать выбранный элемент и элементы списка. Передаваемые параметры шаблона: item - объект-элемент из массива options

<g-select ...>
    <template slot="item-template" scope="props">
        <b>{{ props.item.name }}</b> ({{props.item.type}})
    </template>
</g-select>
1.0.43

5 years ago

1.0.42

5 years ago

1.0.41

5 years ago

1.0.40

5 years ago

1.0.39

5 years ago

1.0.38

5 years ago

1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago