Plug-in kumpulan perintah yang digunakan untuk mengimplementasikan plafon header tabel, plafon ekor tabel, plafon bawah bilah gulir, dan fungsi adaptif ketinggian tabel Elemen UI (Vue 2).
Ketika komponen tabel Elemen UI digunakan, jika ada terlalu banyak konten dalam tabel, bilah gulir akan muncul di tabel, tetapi header tabel tidak akan berpindah ke atas, dan total baris di akhir tabel akan tidak berpindah ke bawah. Dengan cara ini, ketika tabel berisi terlalu banyak konten, header tabel dan tabel tidak akan berpindah ke bawah. Total baris terakhir akan diblokir bagian bawah setiap kali Anda ingin menggulir. Rangkaian titik nyeri ini sangat memengaruhi pengalaman pengguna.
Solusi untuk Elemen UI : capai persyaratan di atas dengan mengatur atribut max-height atau height .
Kekurangan Elemen UI : nilai ketinggian hanya mendukung pengaturan nilai numerik, dan dalam pengembangan sebenarnya sering kali perlu menggunakan JS untuk menghitungnya.
Untuk mengatasi masalah/kebutuhan di atas dan mengurangi biaya pengembangan dan pemeliharaan, plugin ini dibuat. Silakan lihat analisis ide untuk detailnya.
Beberapa instruksi bergantung pada atribut position: sticky , jadi hanya mendukung browser modern, contoh online.
npm install @cell-x/el-table-stickyPetunjuk pendaftaran global:
import elTableSticky from '@cell-x/el-table-sticky'
Vue . use ( elTableSticky )
// 或者
Vue . use ( elTableSticky , {
StickyHeader : {
// 吸顶偏移量,可以是 CSS 支持的距离值,如 `0px`、`10%`、`calc(100vh - 1rem)` 等
offsetTop : 0 ,
// 滚动条吸底偏移量,可以是 CSS 支持的距离值,如 `0px`、`10%`、`calc(100vh - 1rem)` 等
offsetBottom : 0 ,
} ,
StickyFooter : {
// 吸底偏移量,可以是 CSS 支持的距离值,如 `0px`、`10%`、`calc(100vh - 1rem)` 等
offsetBottom : 0 ,
} ,
StickyScroller : {
// 吸底偏移量,可以是 CSS 支持的距离值,如 `0px`、`10%`、`calc(100vh - 1rem)` 等
offsetBottom : 0 ,
} ,
HeightAdaptive : {
// 底部偏移量,只能是数字型
offsetBottom : 0 ,
}
} )Petunjuk pendaftaran sebagian:
import {
StickyHeader ,
StickyFooter ,
StickyScroller ,
HeightAdaptive ,
} from '@cell-x/el-table-sticky'
export default {
directives : {
StickyHeader : new StickyHeader ( { offsetTop : 0 , offsetBottom : 0 } ) . init ( ) ,
StickyFooter : new StickyFooter ( { offsetBottom : 0 } ) . init ( ) ,
StickyScroller : new StickyScroller ( { offsetBottom : 0 } ) . init ( ) ,
HeightAdaptive : new HeightAdaptive ( { offsetBottom : 0 } ) . init ( ) ,
}
} < el-table v-sticky-header > ... </ el-table >
< el-table v-sticky-footer > ... </ el-table >
< el-table v-sticky-scroller > ... </ el-table >
< el-table v-height-adaptive > ... </ el-table > | petunjuk | menjelaskan | pengubah | jenis | nilai bawaan |
|---|---|---|---|---|
v-sticky-header | Perintah plafon header | .always | Object{Number, String} | offsetTop: 0, offsetBottom: 0 |
v-sticky-footer | Garis total di ujung tabel adalah perintah penghisapan paling bawah | .always | Object{Number, String} | offsetBawah: 0 |
v-sticky-scroller | Perintah bawah bilah gulir horizontal | .always | Object{Number, String} | offsetBawah: 0 |
v-height-adaptive | Instruksi yang sangat adaptif | - | Object{Number} | offsetBawah: 0 |
v-sticky-header dan v-sticky-footer memiliki fungsi pengisap bilah gulir bawaan, tidak perlu menggunakan kembali perintah v-sticky-scrollerv-sticky-header dan v-sticky-footer digunakan secara bersamaan, scroll bar offsetBottom didasarkan pada v-sticky-footerhover , yang dapat diubah agar selalu ditampilkan dengan mengatur pengubah .alwaysv-height-adaptive tidak bergantung pada atribut position: sticky dan dapat digunakan sendiri yarn install
# Compiles and hot-reloads for development
yarn serve
# Compiles and minifies for production
yarn build
# Compiles and minifies for production with demo
yarn build:demo
# Lints and fixes files
yarn lintSesuaikan konfigurasi, lihat Referensi Konfigurasi.