<div>
<b-input-group size="lg" prepend="$" append=".00">
<b-form-input></b-form-input>
</b-input-group>
<b-input-group class="mt-3">
<template #append>
<b-input-group-text><strong class="text-danger">!</strong></b-input-group-text>
</template>
<b-form-input></b-form-input>
</b-input-group>
<b-input-group prepend="Username" class="mt-3">
<b-form-input></b-form-input>
<b-input-group-append>
<b-button variant="outline-success">Кнопка</b-button>
<b-button variant="info">Кнопка</b-button>
</b-input-group-append>
</b-input-group>
</div>
Использование
Вы можете прикреплять надстройки, используя свойства, именованные слоты и/или субкомпоненты.
Использование свойств prepend
и append
Значения будут внутренне заключены в <b-input-group-text>
для правильного отображения.
<div>
<b-input-group prepend="$" append=".00">
<b-form-input></b-form-input>
</b-input-group>
<b-input-group prepend="0" append="100" class="mt-3">
<b-form-input type="range" min="0" max="100"></b-form-input>
</b-input-group>
</div>
Использование именованных слотов
Если вы хотите лучше контролировать надстройки, вы можете использовать вместо них слоты prepend
и append
.
Содержимое слота будет автоматически заключено в <b-input-group-prepend>
или <b-input-group-append>
для правильного отображения.
<div>
<b-input-group>
<template #prepend>
<b-input-group-text>Имя пользователя</b-input-group-text>
</template>
<b-form-input></b-form-input>
<template #append>
<b-dropdown text="Выпадающий список" variant="success">
<b-dropdown-item>Действие A</b-dropdown-item>
<b-dropdown-item>Действие B</b-dropdown-item>
</b-dropdown>
</template>
</b-input-group>
</div>
Использование подкомпонентов
Используйте <b-input-group-prepend>
или <b-input-group-append>
для добавления произвольных надстроек, где хотите, и используйте эти компоненты для группировки кнопок в вашей группе ввода. Отдельные кнопки всегда должны быть обернуты этими компонентами для правильного стиля.
<div>
<b-input-group>
<b-input-group-prepend>
<b-button variant="outline-info">Кнопка</b-button>
</b-input-group-prepend>
<b-form-input type="number" min="0.00"></b-form-input>
<b-input-group-append>
<b-button variant="outline-secondary">Кнопка</b-button>
<b-button variant="outline-primary">Кнопка</b-button>
<b-input-group-text>
<b-icon icon="x" />
</b-input-group-text>
</b-input-group-append>
</b-input-group>
</div>
Установите свойство is-text
в <b-input-group-prepend>
или <b-input-group-append>
, если содержимое является текстовым по своей природе, чтобы применить правильный стиль. В качестве альтернативы поместите подкомпонент <b-input-group-text>
внутри <b-input-group-prepend>
или <b-input-group-append>
. Это также применимо, когда вы хотите использовать один из иконок BootstrapVue.
Поддерживаемые формы-элементы управления
Следующие элементы управления формами поддерживаются в качестве входного главного элемента входной группы:
Примечания:
- BootstrapVue использует пользовательский SCSS/CSS для обработки размера ввода
<b-form-file>
, когда он помещается в <b-input-group>
, который имеет size
. - BootstrapVue использует пользовательский SCSS/CSS, когда
<b-form-input type="range">
помещается в <b-input-group>
. - Пользовательские компоненты BootstrapVue (например,
<b-form-spinbutton>
, <b-form-rating>
, <b-form-tags>
и т. д.) Требуют настраиваемого SCSS/CSS BootstrapVue.
Аддоны флажок и радио
Поместите любой флажок или переключатель в надстройку группы ввода вместо текста.
Примечание: Bootstrap v4.x рекомендует использовать встроенные радиомодули и входы флажков вместо настраиваемых радиомодулей и флажков, но можно использовать как <b-form-radio>
и <b-form-checkbox>
с применено несколько служебных классов.
Нативные аддоны флажок и радио
<div>
<b-input-group class="mb-2">
<b-input-group-prepend is-text>
<input type="checkbox" aria-label="Флажок для следующего ввода текста">
</b-input-group-prepend>
<b-form-input aria-label="Ввод текста с флажком"></b-form-input>
</b-input-group>
<b-input-group>
<b-input-group-prepend is-text>
<input type="radio" aria-label="Радио для последующего ввода текста">
</b-input-group-prepend>
<b-form-input aria-label="Ввод текста с радио-вводом"></b-form-input>
</b-input-group>
</div>
Пользовательские аддоны радио, флажки и переключатели
Использование компонентов <b-form-checkbox>
и <b-form-radio>
в качестве надстроек, использование Bootstrap служебных классов для дополнительной стилизации, чтобы они "соответствовали" в аддоне:
<div>
<b-input-group class="mb-2">
<b-input-group-prepend is-text>
<b-form-checkbox class="mr-n2">
<span class="sr-only">Флажок для следующего ввода текста</span>
</b-form-checkbox>
</b-input-group-prepend>
<b-form-input aria-label="Ввод текста с флажком"></b-form-input>
</b-input-group>
<b-input-group class="mb-2">
<b-input-group-prepend is-text>
<b-form-radio class="mr-n2">
<span class="sr-only">Радио для последующего ввода текста</span>
</b-form-radio>
</b-input-group-prepend>
<b-form-input aria-label="Ввод текста с радио-вводом"></b-form-input>
</b-input-group>
<b-input-group>
<b-input-group-prepend is-text>
<b-form-checkbox switch class="mr-n2">
<span class="sr-only">Переключиться на следующий ввод текста</span>
</b-form-checkbox>
</b-input-group-prepend>
<b-form-input aria-label="Ввод текста с переключателем"></b-form-input>
</b-input-group>
</div>
В приведенном выше примере мы использовали класс .sr-only
в <span>
, чтобы визуально скрыть содержимое метки настраиваемого элемента управления (при этом сделав его доступным для пользователей программ чтения с экрана), и использовали служебный класс .mr-n2
, чтобы добавить отрицательное правое поле, чтобы компенсировать "промежуток" между элементом управления и скрытой меткой.
Мультивводы
<div>
<b-input-group prepend="Имя и фамилия" class="mb-2">
<b-form-input aria-label="Имя"></b-form-input>
<b-form-input aria-label="Фамилия"></b-form-input>
</b-input-group>
</div>
Множественные дополнения
Поддерживаются несколько надстроек, которые можно комбинировать с версиями флажков и радиовходов.
<div>
<b-input-group prepend="Item">
<b-input-group-prepend is-text>
<input type="checkbox" aria-label="Флажок для следующего ввода текста">
</b-input-group-prepend>
<b-input-group-prepend is-text><b>$</b></b-input-group-prepend>
<b-form-input type="number" aria-label="Ввод текста с флажком"></b-form-input>
</b-input-group>
</div>
Выпадающие дополнения
<div>
<b-input-group>
<template #prepend>
<b-dropdown text="Выпадающий список" variant="info">
<b-dropdown-item>Действие A</b-dropdown-item>
<b-dropdown-item>Действие B</b-dropdown-item>
</b-dropdown>
</template>
<b-form-input></b-form-input>
<template #append>
<b-dropdown text="Выпадающий список" variant="outline-secondary" v-for="i in 2" :key="i">
<b-dropdown-item>Действие C</b-dropdown-item>
<b-dropdown-item>Действие D</b-dropdown-item>
</b-dropdown>
</template>
</b-input-group>
</div>
Размеры элементов
Установите высоту, используя свойство size
, на sm
или lg
для маленьких или больших соответственно. Нет необходимости устанавливать размер отдельных входов или кнопок. Обратите внимание, однако, что вам обязательно также установить размер в раскрывающихся списках.
<div>
<b-input-group
v-for="size in ['sm','','lg']"
:key="size"
:size="size"
class="mb-3"
prepend="Метка"
>
<b-form-input></b-form-input>
<b-input-group-append>
<b-button size="sm" text="Кнопка" variant="success">Кнопка</b-button>
</b-input-group-append>
</b-input-group>
</div>
Чтобы контролировать ширину, поместите ввод внутри стандартного столбца сетки Bootstrap.
Настройка настраиваемого радио, флажка и переключателей аддонов
При использовании <b-form-radio>
или <b-form-checkbox>
в качестве дополнений могут потребоваться дополнительные служебные классы, чтобы все подходило правильно, в зависимости от выбранного размера:
<div>
<b-input-group size="sm" prepend="Small" class="mb-2">
<b-form-input aria-label="Ввод небольшого текста с настраиваемым переключателем"></b-form-input>
<b-input-group-append is-text>
<b-form-checkbox switch class="mr-n2 mb-n1">
<span class="sr-only">Флажок для предыдущего ввода текста</span>
</b-form-checkbox>
</b-input-group-append>
</b-input-group>
<b-input-group size="lg" prepend="Large" class="mb-2">
<b-form-input aria-label="Большой ввод текста с переключателем"></b-form-input>
<b-input-group-append is-text>
<b-form-checkbox switch class="mr-n2">
<span class="sr-only">Переключатель к предыдущему вводу текста</span>
</b-form-checkbox>
</b-input-group-append>
</b-input-group>
</div>
В частности, при использовании размера sm
в <b-input-group>
вам нужно будет добавить отрицательное нижнее поле, используя .mb-n1
класс утилит.
Контекстные состояния
Bootstrap v4 в настоящее время не поддерживает контекстную стилизацию состояния (т.е. допустимую или недопустимую) групп ввода. Однако входы внутри группы ввода действительно поддерживают контекстное состояние.