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

其實也沒啥,代碼部分,
1、首先使用了element plus的table
<template>
<div>
<el-table
ref="table1"
:data="state.data"
height="250"
>
<el-table-column prop="station" label="站點" 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="等級" width="70" align="center" />
</el-table>
</div>
</template>
2、設(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è)置滾動
});
});
</script>
<script>
//scroll方法不用對外,所以放在<script>里了
const scroll = (tableBody) => {
let isScroll = true;
const dom1 = tableBody.getElementsByClassName("el-scrollbar__wrap")[0];
//鼠標(biāo)放上去,停止?jié)L動;移開,繼續(xù)滾動
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對tooltip格式修改
描述:將返回來的數(shù)據(jù)拼在一起 用逗號隔開
解決方法
<el-table-column
?? ?prop="airportInfos"
?? ?label="管轄機場"
>
?? ?<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="管轄機場"
?? ?: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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- vue3?el-table結(jié)合seamless-scroll實現(xiàn)表格數(shù)據(jù)滾動的思路詳解
- vue中el-table兩個表尾合計行聯(lián)動同步滾動條實例代碼
- vue中獲取滾動table的可視頁面寬度調(diào)整表頭與列對齊(每列寬度不都相同)
- vue elementUI table表格數(shù)據(jù) 滾動懶加載的實現(xiàn)方法
- vue element-ui table表格滾動加載方法
- vue iview 隱藏Table組件里的某一列操作
- Vue基于iview table展示圖片實現(xiàn)點擊放大
- 淺談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法
- vue 使用iView組件中的Table實現(xiàn)定時自動滾動效果
相關(guān)文章
vue前端性能優(yōu)化之預(yù)加載和懶加載示例詳解
這篇文章主要為大家介紹了vue前端性能優(yōu)化之預(yù)加載和懶加載示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
vue 組件中使用 transition 和 transition-group實現(xiàn)過渡動畫
本文給大家分享一下vue 組件中使用 transition 和 transition-group 設(shè)置過渡動畫,總結(jié)來說可分為分為 name 版, js 鉤子操作類名版, js 鉤子操作行內(nèi)樣式版,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2019-07-07
vue3?騰訊地圖設(shè)置簽到范圍并獲取經(jīng)緯度的實現(xiàn)代碼
本文給大家介紹vue3?騰訊地圖設(shè)置簽到范圍并獲取經(jīng)緯度的實現(xiàn)代碼,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2022-05-05
vue實現(xiàn)通過手機號發(fā)送短信驗證碼登錄的示例代碼
本文主要介紹了vue實現(xiàn)通過手機號發(fā)送短信驗證碼登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

