Чтобы создавать красивые приложения Vue, нам нужно стилизовать наши компоненты.
Чтобы облегчить себе жизнь, мы можем использовать компоненты со встроенными стилями.
В этой статье мы рассмотрим, как добавлять мультимедийные и модальные компоненты.
СМИ
Мы можем добавлять компоненты, чтобы показать медиа, которые находятся рядом с другим компонентом.
Для этого мы добавляем компонент b-media
.
Мы можем использовать его следующим образом:
<template> <div id="app"> <b-media> <template v-slot:aside> <b-img blank blank-color="#ccc" width="50" alt="placeholder"></b-img> </template> <h5 class="mt-0">Title</h5> <p>foo</p> <p>bar</p> </b-media> </div> </template> <script> export default { name: "App" }; </script>
Мы помещаем что-то в слот aside
, как указано в директиве v-slot:aside
.
Вставляем изображение внутрь.
Вне него мы добавляем текст.
aside
поместит изображение слева, а текст - справа.
Мы также можем вложить их, чтобы написать:
<template> <div id="app"> <b-media> <template v-slot:aside> <b-img blank blank-color="#ccc" width="50" alt="placeholder"></b-img> </template> <h5 class="mt-0">Title</h5> <p>foo</p> <b-media> <template v-slot:aside> <b-img blank blank-color="green" width="50" alt="placeholder"></b-img> </template> <h5 class="mt-0">Nested Media</h5> <p class="mb-0"> bar </p> </b-media> </b-media> </div> </template> <script> export default { name: "App" }; </script>
Затем у нас есть еще один b-media
компонент внутри внешнего.
Выровнять изображение
Мы можем выровнять изображения так, как нам нравится.
Для этого мы используем компонент b-media-aside
с опорой vertical-align
.
Например, мы можем написать:
<template> <div id="app"> <b-media no-body> <b-media-aside vertical-align="center"> <b-img blank blank-color="#ccc" width="64" height="128" alt="placeholder"></b-img> </b-media-aside> <b-media-body class="ml-3">foo</b-media-body> </b-media> </div> </template> <script> export default { name: "App" }; </script>
У нас есть компонент b-media-aside
для размещения изображения с левой стороны.
vertica-align='center'
сделает изображение вертикальным по центру.
b-media-body
создайте тело справа от изображения.
порядок
Мы можем изменить порядок изображения и текста с помощью свойства right-align
.
Например, мы можем написать:
<template> <div id="app"> <b-media right-align> <template v-slot:aside> <b-img blank blank-color="#ccc" width="30" alt="placeholder"></b-img> </template> <p>foo</p> </b-media> </div> </template> <script> export default { name: "App" }; </script>
Теперь у нас справа вместо текста отображается компонент b-img
.
Список СМИ
Свойство tag
позволяет нам отображать наши мультимедийные b-media
компоненты с помощью нужного нам тега.
Например, мы можем написать:
<template> <div id="app"> <ul> <b-media tag="li"> <template v-slot:aside> <b-img blank blank-color="#ccc" width="30" alt="placeholder"></b-img> </template> <p>foo</p> </b-media> <b-media tag="li"> <template v-slot:aside> <b-img blank blank-color="blue" width="30" alt="placeholder"></b-img> </template> <p>bar</p> </b-media> <b-media tag="li"> <template v-slot:aside> <b-img blank blank-color="green" width="30" alt="placeholder"></b-img> </template> <p>baz</p> </b-media> </ul> </div> </template> <script> export default { name: "App" }; </script>
Затем мы визуализируем наш b-media
компонент как li-элементы.
Модальные окна
Модальные окна - это диалоговые окна, которые работают на JavaScript и CSS.
Мы можем создать простой с помощью компонента b-modal
.
Например, мы можем написать:
<template> <div id="app"> <b-button v-b-modal.modal>open modal</b-button> <b-modal id="modal" title="Hello"> <p>Hello!</p> </b-modal> </div> </template> <script> export default { name: "App" }; </script>
У нас есть b-button
с директивой v-b-modal.modal
.
Модификатор modal
- это значение свойства id
модального окна, которое мы хотим открыть.
Компонент b-modal
сам является модальным.
title
- это заголовок модального окна, отображаемый вверху.
Контент находится между тегами.
По умолчанию он также имеет кнопки ОК и Отмена.
Мы можем скрыть кнопку «Отмена» с помощью свойства ok-only
.
Свойство ok-title
позволяет нам изменять текст кнопки ОК.
Свойство cancel-title
позволяет нам изменять текст кнопки «Отмена».
Мы можем использовать слоты modal-ok
и modal-cancel
для изменения содержимого кнопки.
Слот modal-title
позволяет нам изменять содержание заголовка.
Слот modal-header
позволяет нам изменить модальный заголовок.
Слот modal-footer
позволяет нам изменять содержимое нижнего колонтитула.
Заключение
Компонент b-media
позволяет нам добавлять изображение с текстом рядом.
Модальные окна - это диалоговые окна, которые накладываются на наш основной контент.