1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hyjiacan-TinySelect

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Это функция, параметром которой является ввод из поля фильтрации:

// Можно использовать встроенные в браузер encodeURI или encodeURIComponent, 
// также можно использовать собственные или сторонние функции типа Base64.encode
encoder: NULL,
// Функция предварительной обработки запроса, её параметр — объект опций jQuery ajax, возвращает false для блокировки запроса
req: null,
// Функция обработки возвращаемых данных, её параметры: (data, status, xhr), возвращаемое значение будет загружено как данные компонента
res: null,
// Отправлять ли запрос на загрузку данных при инициализации
auto: true

}, // Заголовок выпадающего списка header: { // Рендерер заголовка, this — это его DOM-объект, // напрямую изменяем этот объект для изменения заголовка // вызывается после выполнения инициализации и перед добавлением в контейнер render: false, // Фильтр filter: { // Действие, запускающее фильтрацию, можно установить как change или enter (по умолчанию). // Для change действие выполняется при изменении ввода, // для enter — при нажатии Enter trigger: 'enter', // Значение, указывающее, что при отсутствии ввода с клавиатуры в течение указанного времени запускается фильтрация // единица измерения — миллисекунды, по умолчанию 618 // действует только при trigger = change delay: 618, // Текст подсказки для ввода placeholder: 'Введите и нажмите Enter для фильтрации', // Различать ли регистр при фильтрации, по умолчанию false matchCase: false, // Максимальная длина ввода maxlength: 32, // Дополнительное имя класса css: null, // Стиль фильтра style: {} }, // Дополнительное имя класса css: null, // Стиль заголовка style: {} }, // Контейнер выпадающих элементов box: { // Текст, отображаемый при отсутствии данных в списке empty: 'Нет данных', // Способ отображения данных // возможные значения: list (список, значение по умолчанию), grid (сетка), table (таблица) layout: layout_list, // Дополнительное имя класса css: null, // Стиль контейнера style: {}, // Определение столбцов при layout = table columns: null }, // Настройка групп элементов group: { // Поле значения группы valueField: false, // Текстовое поле группы, не задаётся, если используется valueField textField: false, // Имя группы при отсутствии поля valueField в элементе данных unknown: 'Не определено', // Рендерер группы render: false, // Дополнительное имя класса css: null, // Стиль группы style: {} }, // Выпадающий элемент item: { // Массив данных элементов, каждый элемент должен быть объектом data: [], // Элемент по умолчанию value: false, // Поле элемента для получения/установки значения valueField: 'id', // Текстовое поле элемента, текст для отображения textField: 'text', // Количество видимых элементов, при превышении этого значения появляется полоса прокрутки visible: 5, // Рендерер элемента, используем возвращаемое значение для установки содержимого элемента // render: function(itemdata, index, alldata){} this указывает на элемент веб-страницы, который будет отрисован. // itemdata: данные этого элемента // index: индекс этого элемента в массиве данных // alldata: все данные выпадающего списка // установка в false отключает рендерер render: false, // Использовать ли асинхронную отрисовку при количестве элементов больше visible (true), // рекомендуется установить true при большом количестве данных, чтобы избежать блокировки страницы из-за большого количества операций с DOM async: true, // Дополнительное имя класса css: null, // Стиль каждого элемента style: {} }, // Нижний колонтитул выпадающего списка footer: { // Рендерер нижнего колонтитула, его контекст — это DOM-элемент, // непосредственно изменяем этот элемент для изменения нижнего колонтитула // необходимо обратить внимание, что нижний колонтитул разделён на две области для размещения разных элементов // вызывается после завершения инициализации перед добавлением в контейнер render: false, /** * Общее количество элементов / totalTpl: 'Всего' + str_placeholder + 'элементов', /* * Выбранные элементы */ selectedTpl: 'Выбрано' + str_placeholder + 'элемента/', // Дополнительное имя класса css: null, // Стиль нижнего колонтитула style: {} }, result: { // Разрешить ли множественный выбор multi: false, // Отображать ли индикатор выпадающего списка // false — всегда скрывать // true — всегда показывать // null — показывать только для одиночного выбора, скрывать для множественного arrow: null, // Нужно ли синхронизировать выбранное значение с select при создании экземпляра из select, по умолчанию true sync: true, // Рендерер выбранного результата, можно изменить рендеринг выбранного результата render: false, // Тип отображения выбранных результатов, может быть 0 (отображение количества выбранных элементов по умолчанию) или 1 (отображение списка выбранных элементов) // это зарезервированный параметр конфигурации type: 0, // Дополнительное имя класса для выбранного результата css: null, // Стиль выбранного результата style: {}, // Параметры выбранного результата item:{
// Рендерер выбранного элемента, можно изменить рендеринг выбранных элементов // контекст указывает на this компонента раскрывающегося списка render: false, // Стиль выбранного элемента style: null, // Дополнительное имя класса выбранного элемента css: null } } } unselect: Function

Событие, которое происходит при отмене выбора элемента в раскрывающемся списке. Контекст this указывает на компонент раскрывающегося списка, а параметры и использование события аналогичны событию select.

Пользовательские стили

Можно реализовать различные эффекты, переопределив эти стили. Если вы хотите просто изменить цвета, вы можете сделать это, напрямую изменив файл src/colors.less и перекомпилировав его. В этом файле представлены большинство цветовых переменных, используемых в компоненте.

Элементы контекста

  • tinyselect-context — элемент для создания компонента раскрывающегося списка;
  • tinyselect-context-result — контейнер для выбранного результата;
  • tinyselect-result-item — выбранный элемент результата;
  • tinyselect-result-item-text — текст выбранного элемента результата;
  • tinyselect-result-item-link — кнопка удаления выбранного элемента результата;
  • tinyselect-context-with-arrow — стиль для компонента раскрывающегося списка с индикатором раскрывающегося списка;
  • tinyselect-context-arrow — индикатор раскрывающегося списка;
  • tinyselect-readonly — стиль компонента раскрывающегося списка в режиме только для чтения.

Слой маски всплывающего окна

Существует только в режиме popup.

  • tinyselect-mask — слой маски всплывающего окна, родительский элемент контейнера, по умолчанию занимает всё окно с помощью position: fixed.

Всплывающее окно

  • tinyselect-container — самый верхний контейнер раскрывающегося списка;
  • tinyselect-empty — стиль верхнего контейнера при отсутствии элементов данных;
  • tinyselect-mode-dropdown — стиль компонента раскрывающегося списка при отображении в виде раскрывающегося списка (по умолчанию);
  • tinyselect-mode-list — стиль компонента раскрывающегося списка при отображении в виде списка;
  • tinyselect-mode-popup — стиль компонента раскрывающегося списка при отображении во всплывающем окне.

Заголовок

  • tinyselect-header — элемент заголовка раскрывающегося списка, здесь находится фильтр;
  • tinyselect-filter — поле ввода фильтра раскрывающегося списка.

Нижний колонтитул

  • tinyselect-footer — элемент нижнего колонтитула раскрывающегося списка;
  • tinyselect-footer-left — левый контейнер нижнего колонтитула;
  • tinyselect-footer-right — правый контейнер нижнего колонтитула;
  • tinyselect-count-total — количество элементов раскрывающегося списка отображается справа внизу;
  • tinyselect-count-selected — количество выбранных элементов раскрывающегося списка отображается справа внизу.

Раскрывающийся список

  • tinyselect-box — контейнер раскрывающихся элементов списка;
  • tinyselect-box-layout-list — макет раскрывающегося списка в виде списка;
  • tinyselect-box-layout-grid — макет раскрывающегося списка в виде сетки;
  • tinyselect-box-layout-table — макет раскрывающегося списка в виде таблицы;
  • tinyselect-scroll-proxy — прокси-элемент прокрутки элементов списка;
  • tinyselect-item — элемент раскрывающегося списка;
  • tinyselect-item-selected — состояние выбора элемента раскрывающегося списка;
  • tinyselect-item-before — элемент перед текстом элемента раскрывающегося списка;
  • tinyselect-item-text — текстовый элемент элемента раскрывающегося списка;
  • tinyselect-item-after — элемент после текста элемента раскрывающегося списка;
  • tinyselect-group-content — контейнер элементов группы, элементы одной группы объединяются вместе.

Разработка

Для разработки необходимо запустить две команды:

yarn dev
npx grunt watch

После этого вы можете получить доступ к http://localhost:5173/ в браузере.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Гибкий компонент выпадающего меню WEB. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/hyjiacan-TinySelect.git
git@gitlife.ru:oschina-mirror/hyjiacan-TinySelect.git
oschina-mirror
hyjiacan-TinySelect
hyjiacan-TinySelect
master