vue中如何給el-table-column添加指定列的點擊事件
嗨害嗨,我又來了奧。大家在工作中用組件嗎?elementUI應該都用過吧, element是一套UI組件庫,是由國內餓了么團隊開發(fā)的。它提供了豐富的PC組件,有效地降低了使用者的開發(fā)難度。
如果工作中遇到了表格,我們經常會用el-table組件來寫表格,這樣寫出來的表格樣式更美好?,F(xiàn)在,提出需求,如果表格有某一列具有其對應的詳情頁,點擊這一列的單項,跳轉到其對應的詳情頁,該怎么做?那我們是不是先配一下詳情頁的路由呀,一般在跳轉的時候,都會傳個某某id,作為唯一標識,就知道傳的是哪個了。然后詳情頁的url就是http://xxxxxx?id=1類似的。
那么在這里呢,我就不跳轉了,我講一個方法,獲取這一行所有數(shù)據的辦法。這就要用到我們的作用域插槽了 slot-scope。
首先,把表格的數(shù)據填一下,弄一個表格包含五個人,就是一個數(shù)組長度為5,5個對象(名為people),然后每個對象包含姓名、年齡、年薪以及住址(純屬虛構,如有雷同純屬巧合)。
data() {
return {
people: [
{
name: "亮亮",
age: 35,
salary: 800000,
address: "亮亮家園",
},
{
name: "華華",
age: 50,
salary: 1800000,
address: "華華家園",
},
{
name: "東東",
age: 37,
salary: 1600000,
address: "東東家園",
},
{
name: "銘銘",
age: 33,
salary: 900000,
address: "銘銘家園",
},
{
name: "小新",
age: 31,
salary: 700000,
address: "小新家園",
},
],
};
},然后在template中的div寫以下代碼(運用到el-table組件)
<el-table :data="people">
<el-table-column prop="name" label="姓名" width="180">
<template slot-scope="scope">
<!-- 注意:這個地方要傳參數(shù)進去才能進行操作 函數(shù)名稱(scope.row) -->
<div @click="alertMessage(scope.row)">{{ scope.row.name }}</div>
</template>
</el-table-column>
<el-table-column prop="age" label="年齡" width="180"></el-table-column>
<el-table-column
prop="salary"
label="年薪/元"
width="180"
></el-table-column>
<el-table-column
prop="address"
label="地址"
width="180"
></el-table-column>
</el-table>由于我想點擊人物的名字獲取相應的詳情對象,再彈窗出來。所以用到slot-scope,然后我們可以讀出scope.row,其中就能獲得一個對象,然后包括這行這個人所有的詳細信息(包括姓名,年齡,年薪以及住址),然后可以在methods里邊配置圖中的alertMessage方法,如下圖。
methods: {
alertMessage(row) {
window.alert(
`我叫${row.name},今年${row.age}歲,年薪${row.salary}元,住在${row.address}`
);
},
},這樣的話,我們就可以打開這個頁面看到如下效果

然后點擊每個名字,會出現(xiàn)彈窗,如下


......等等
這樣的話,我們這個問題就解決了。舉一反三,如果是要跳轉到對應的詳情頁,就得點擊后,獲取scope.row的id屬性,然后通過this.$router.push({path:'...',query:{id:'...'}}),即可跳轉到相應的詳情頁。
學會了嗎?別忘了自己打開電腦寫一寫練一練哦。
到此這篇關于vue中如何給el-table-column添加指定列的點擊事件的文章就介紹到這了,更多相關el-table-column添加點擊事件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue2和el-input無法修改和寫入并且不報錯的解決方案
這篇文章主要介紹了vue2和el-input無法修改和寫入并且不報錯的解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-07-07

