cg-select/READMERU.md
2023-10-04 18:26:51 +03:00

6.3 KiB
Raw Blame History

CG-SELECT

Версия ~ 0.3.2

English README

Этот компонент позволяет вам создать пользовательский Select. Он предлагает более гибкую настройку и использование select. Доступна кастомизация, multi-selection, живой поиск по элементам и многое другое.

Возможность настройки основных элементов, таких как:

  • Кнопка самого селекта Select.
  • Список с выбранными элементами.
  • Placeholder.
  • В режиме мультиселекта доступна кастомизация chips (выбранных элементов).
  • Label элемента (если она была указана).
  • Переключить тему с темной на светлую.
  • Так же в документации указанны все элементы для катомизации с помощью CSS.

Установка

NPM

npm i cg-select

CDN

<script src="https://cdn.itguild.info/items/cg-select/latest/main.js"></script>

PHP

Репозиторий: Интеграция пакета cg-select для PHP

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

Для создания компонента необходимо:

  1. Создайте обычную кнопку.
  2. Добавьте ей класс cg-dropdown.
<button class="cg-dropdown"></button>
  1. Добавьте ему уникальный класс, например: (cg-dropdown_categories)
<button class="cg-dropdown cg-dropdown_categories"></button>
  1. Создайте новый экземпляр класса (new CGSelect)
  2. Передайте все нужные настройки как объект.

Все варианты создания и управления селектом есть в документации, раздел "Конструктор класса CGSelect".

Пример создания обычного CGSelect.

import CGSelect from 'cg-select';

const dropdown = new CGSelect({
  selector: '.cg-dropdown_selector',
  placeholder: 'Выберите авто',
  items: [
    'BMW',
    {
      id: '213sade',
      title: 'Opel',
      value: 1,
    },
    'Mersedes',
    'MAN',
    'Ferari',
  ],
});

Пример инициализации CGSelect в React.

import { useEffect } from 'react';
import CGSelect from 'cg-select';

const App = () => {
  useEffect(() => {
    const drop = new CGSelect({
      selector: '.cg-dropdown_selector',
      placeholder: 'Выберите авто',
      items: [
        'BMW',
        {
          id: '213sade',
          title: 'Opel',
          value: 1,
        },
        'Mersedes',
        'MAN',
        'Ferari',
      ],
    });
  }, []);

  return (
    <div className="App">
      <button className="cg-dropdown cg-dropdown_selector"></button>
    </div>
  );
};

Пример инициализации CGSelect в Vue.

<template>
  <div>
    <button class="cg-dropdown cg-dropdown_selector"></button>
  </div>
</template>

<script>
import CGSelect from "cg-select";

export default {
  mounted() {
    const drop = new CGSelect({
      selector: ".cg-dropdown_selector",
      placeholder: "Выберите авто",
      items: [
        "BMW",
        {
          id: "213sade",
          title: "Opel",
          value: 1,
        },
        "Mersedes",
        "MAN",
        "Ferari",
      ],
    });
    console.log(drop);
  },
};
</script>

Примеры различных вариантов выбора.

Рабочий пример

Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в CGSelect. Вы также можете открыть его на странице с примером, или перейти по ссылке ниже.

Документация

Содействие

  1. Сделайте Fork!
  2. Создайте свою ветку: git checkout -b my-new-feature
  3. Зафиксируйте свои изменения: git commit -am 'Add some feature'
  4. Загрузите ветку: git push origin my-new-feature
  5. Отправте запрос на вытягивание изменений :D

Совместимость

Совместимость в приложениях JS React Angular Vue
CG-SELECT image image image image
Комментарий Протестировано в Js приложениях Инициация селекта происходит внутри хука useEffect() пока недоступно Инициация селекта происходит внутри хука mounted()

История

16.12.2022 - release version 0.1.0!

20.01.2023 - upgrade to version 0.2.1

06.03.2023 - upgrade to version 0.3.0