vue3應(yīng)用elementPlus table并滾動(dòng)顯示問題
vue3 elementPlus table并滾動(dòng)顯示
效果類似

其實(shí)也沒啥,代碼部分,
1、首先使用了element plus的table
<template>
<div>
<el-table
ref="table1"
:data="state.data"
height="250"
>
<el-table-column prop="station" label="站點(diǎn)" width="90" align="center" />
<el-table-column prop="city" label="地市" width="55" align="center" />
<el-table-column prop="date" label="日期" width="75" align="center" />
<el-table-column prop="level" label="等級(jí)" width="70" align="center" />
</el-table>
</div>
</template>
2、設(shè)置定時(shí)器
<script setup>
import { reactive, onMounted, ref } from "vue";
import { getWaterData as getDataApi } from "@/modules/api/home";
const state = reactive({
data: [],
});
const table1 = ref();
onMounted(() => {
getDataApi().then((data) => {//獲取數(shù)據(jù)
state.data = data;
scroll(table1.value.$refs.bodyWrapper);//設(shè)置滾動(dòng)
});
});
</script>
<script>
//scroll方法不用對(duì)外,所以放在<script>里了
const scroll = (tableBody) => {
let isScroll = true;
const dom1 = tableBody.getElementsByClassName("el-scrollbar__wrap")[0];
//鼠標(biāo)放上去,停止?jié)L動(dòng);移開,繼續(xù)滾動(dòng)
dom1.addEventListener("mouseover", () => {
isScroll = false;
});
dom1.addEventListener("mouseout", () => {
isScroll = true;
});
setInterval(() => {
if (isScroll) {
dom1.scrollTop += 1;
if (dom1.clientHeight + dom1.scrollTop == dom1.scrollHeight) {
dom1.scrollTop = 0;
}
}
}, 100);
};
</script>
注意控制的dom是
table1.value.$refs.bodyWrapper.getElementsByClassName("el-scrollbar__wrap")[0]這是vue3中應(yīng)用element plus 的table,網(wǎng)上許多教程 說控制this.$refs.table.bodyWrapper的,不好使,沒有作用。
vue3 elementPlus table對(duì)tooltip格式修改
描述:將返回來的數(shù)據(jù)拼在一起 用逗號(hào)隔開
解決方法
<el-table-column
?? ?prop="airportInfos"
?? ?label="管轄機(jī)場"
>
?? ?<template #default="scope" v-if="false">
?? ??? ?{{
?? ??? ??? ?void (scope.row.temp = scope.row.airportInfos
?? ??? ??? ??? ?.map(
?? ??? ??? ??? ??? ?(el) =>
?? ??? ??? ??? ??? ??? ?el.ident +
?? ??? ??? ??? ??? ??? ?(el["designator"] === " ? "
?? ??? ??? ??? ??? ??? ??? ?? ""
?? ??? ??? ??? ??? ??? ??? ?: "(" + el["designator"] + ")")
?? ??? ??? ??? ?)
?? ??? ??? ??? ?.join(","))
?? ??? ?}}
?? ??? ?<el-tooltip placement="top">
?? ??? ??? ?<template #content>
?? ??? ??? ??? ?{{ scope.row.temp }}
?? ??? ??? ?</template>
?? ??? ??? ?<div class="ellipsis diyname-ellipsis-width">
?? ??? ??? ??? ?{{ scope.row.temp }}
?? ??? ??? ?</div>
?? ??? ?</el-tooltip>
?? ?</template>
</el-table-column><el-table-column
?? ?prop="airportInfos"
?? ?label="管轄機(jī)場"
?? ?:formatter="formatter"
?? ?show-overflow-tooltip
>
</el-table-column>
// 使用formatter
const formatter = (row, column, cellValue) => {
?? ?return cellValue
?? ??? ?.map(
?? ??? ??? ?(el) =>
?? ??? ??? ??? ?el.ident +
?? ??? ??? ??? ?(el["designator"] === " ? " ? "" : "(" + el["designator"] + ")")
?? ??? ?)
?? ??? ?.join(",");
};總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue3?el-table結(jié)合seamless-scroll實(shí)現(xiàn)表格數(shù)據(jù)滾動(dòng)的思路詳解
- vue中el-table兩個(gè)表尾合計(jì)行聯(lián)動(dòng)同步滾動(dòng)條實(shí)例代碼
- vue中獲取滾動(dòng)table的可視頁面寬度調(diào)整表頭與列對(duì)齊(每列寬度不都相同)
- vue elementUI table表格數(shù)據(jù) 滾動(dòng)懶加載的實(shí)現(xiàn)方法
- vue element-ui table表格滾動(dòng)加載方法
- vue iview 隱藏Table組件里的某一列操作
- Vue基于iview table展示圖片實(shí)現(xiàn)點(diǎn)擊放大
- 淺談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法
- vue 使用iView組件中的Table實(shí)現(xiàn)定時(shí)自動(dòng)滾動(dòng)效果
相關(guān)文章
Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作
這篇文章主要介紹了Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
基于Vue3實(shí)現(xiàn)掃碼槍掃碼并生成二維碼實(shí)例代碼
vue3生成二維碼的方式有很多種,下面這篇文章主要給大家介紹了關(guān)于如何基于Vue3實(shí)現(xiàn)掃碼槍掃碼并生成二維碼的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
純JS如何實(shí)現(xiàn)vue.js下的雙向綁定功能
對(duì)于vue下的雙向綁定功能,個(gè)人理解為在處理邏輯的過程中緩存了大量的node對(duì)象,node對(duì)象可以是html標(biāo)簽、文本內(nèi)容。既然選擇了緩存這些對(duì)象,那么在用的過程中哪里需要改變就把node拿出來,進(jìn)行標(biāo)簽屬性的變更或者文本內(nèi)容的修改。本文主要講了如何實(shí)現(xiàn)雙向綁定2021-06-06
vue3+ts+EsLint+Prettier規(guī)范代碼的方法實(shí)現(xiàn)
本文主要介紹在Vue3中使用TypeScript做開發(fā)時(shí),如何安裝與配置EsLint和Prettier,以提高編碼規(guī)范。感興趣的可以了解一下2021-10-10
Vue綁定class和綁定內(nèi)聯(lián)樣式的實(shí)現(xiàn)方法
本文主要介紹了Vue綁定class和綁定內(nèi)聯(lián)樣式的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Vue3項(xiàng)目引入阿里iconfont圖標(biāo)與字體及使用教程
Iconfont國內(nèi)功能很強(qiáng)大且圖標(biāo)內(nèi)容很豐富的矢量圖標(biāo)庫,提供矢量圖標(biāo)下載、在線存儲(chǔ)、格式轉(zhuǎn)換等功能,下面這篇文章主要給大家介紹了關(guān)于Vue3項(xiàng)目引入阿里iconfont圖標(biāo)與字體及使用教程,需要的朋友可以參考下2023-05-05

