Buefy - это UI-фреймворк, основанный на Bulma.
В этой статье мы рассмотрим, как использовать Buefy в нашем приложении Vue.
Прикрепленные заголовки и столбцы
Мы можем добавить опору sticky-header
для отображения таблицы прокрутки с фиксированными заголовками.
Например, мы можем написать:
<template> <div id="app"> <b-table :data="data" :columns="columns" sticky-header height="100px"></b-table> </div> </template> <script> export default { name: "App", data() { const data = [ { id: 1, first_name: "james", last_name: "smith" }, { id: 2, first_name: "mary", last_name: "jones" }, { id: 3, first_name: "alex", last_name: "wong" } ]; return { data, columns: [ { field: "id", label: "ID", width: "40", numeric: true }, { field: "first_name", label: "First Name" }, { field: "last_name", label: "Last Name" } ] }; } }; </script>
чтобы добавить опору и установить высоту, чтобы мы могли видеть прокручиваемое содержимое с липким заголовком.
Мы можем добавить свойство sticky
, чтобы сделать столбец липким при прокрутке:
<template> <div id="app"> <b-table :data="data" :columns="columns" sticky-header></b-table> </div> </template> <script> export default { name: "App", data() { const data = [ { id: 1, first_name: "james", last_name: "smith" }, { id: 2, first_name: "mary", last_name: "jones" }, { id: 3, first_name: "alex", last_name: "wong" } ]; return { data, columns: [ { field: "id", label: "ID", width: "40", numeric: true, sticky: true }, { field: "first_name", label: "First Name" }, { field: "last_name", label: "Last Name" } ] }; } }; </script>
Переключить столбцы
Мы можем отображать и скрывать столбцы с помощью опоры visible
:
<template> <div id="app"> <b-table :data="data" :columns="columns" sticky-header></b-table> </div> </template> <script> export default { name: "App", data() { const data = [ { id: 1, first_name: "james", last_name: "smith" }, { id: 2, first_name: "mary", last_name: "jones" }, { id: 3, first_name: "alex", last_name: "wong" } ]; return { data, columns: [ { field: "id", label: "ID", width: "40", numeric: true, visible: true }, { field: "first_name", label: "First Name", visible: true }, { field: "last_name", label: "Last Name", visible: false } ] }; } }; </script>
Мы устанавливаем свойство visible
в объекте определения столбца, чтобы отображать и скрывать столбцы.
Нижний колонтитул
Мы можем заполнить слот footer
столбцами. Например, мы можем написать:
<template> <div id="app"> <b-table :data="data" :columns="columns"> <template slot="footer"> <th> <div class="th-wrap is-numeric">ID</div> </th> <th> <div class="th-wrap">First Name</div> </th> <th> <div class="th-wrap">Last Name</div> </th> </template> </b-table> </div> </template> <script> export default { name: "App", data() { const data = [ { id: 1, first_name: "james", last_name: "smith" }, { id: 2, first_name: "mary", last_name: "jones" }, { id: 3, first_name: "alex", last_name: "wong" } ]; return { data, columns: [ { field: "id", label: "ID", width: "40", numeric: true }, { field: "first_name", label: "First Name" }, { field: "last_name", label: "Last Name" } ] }; } }; </script>
Мы добавляем th
элементов в footer
, чтобы заполнить ячейки.
Заключение
Мы можем добавлять липкие верхние и нижние колонтитулы. Кроме того, мы можем переключать видимость столбцов.