定制软件开发给el-table-column添加指定列的点击事件该怎么做

嗨害嗨,定制软件开发我又来了奥。定制软件开发大家在工作中用组件吗?定制软件开发应该都用过吧, element是一套UI组件库,定制软件开发是由国内饿了么团队开发的。定制软件开发它提供了丰富的PC组件,定制软件开发有效地降低了使用者的开发难度。

如果工作中遇到了表格,我们经常会用组件来写表格,这样写出来的表格样式更美好。现在,提出需求,如果表格有某一列具有其对应的详情页,点击这一列的单项,跳转到其对应的详情页,该怎么做?那我们是不是先配一下详情页的路由呀,一般在跳转的时候,都会传个某某id,作为唯一标识,就知道传的是哪个了。然后详情页的url就是http://xxxxxx?id=1类似的。

那么在这里呢,我就不跳转了,我讲一个方法,获取这一行所有数据的办法。这就要用到我们的作用域插槽了 slot-scope。

首先,把表格的数据填一下,弄一个表格包含五个人,就是一个数组长度为5,5个对象(名为people),然后每个对象包含姓名、年龄、年薪以及住址(纯属虚构,如有雷同纯属巧合)。

  1. data() {
  2. return {
  3. people: [
  4. {
  5. name: "亮亮",
  6. age: 35,
  7. salary: 800000,
  8. address: "亮亮家园",
  9. },
  10. {
  11. name: "华华",
  12. age: 50,
  13. salary: 1800000,
  14. address: "华华家园",
  15. },
  16. {
  17. name: "东东",
  18. age: 37,
  19. salary: 1600000,
  20. address: "东东家园",
  21. },
  22. {
  23. name: "铭铭",
  24. age: 33,
  25. salary: 900000,
  26. address: "铭铭家园",
  27. },
  28. {
  29. name: "小新",
  30. age: 31,
  31. salary: 700000,
  32. address: "小新家园",
  33. },
  34. ],
  35. };
  36. },

然后在template中的div写以下代码(运用到el-table组件)

  1. <el-table :data="people">
  2. <el-table-column prop="name" label="姓名" width="180">
  3. <template slot-scope="scope">
  4. <!-- 注意:这个地方要传参数进去才能进行操作 函数名称(scope.row) -->
  5. <div @click="alertMessage(scope.row)">{{ scope.row.name }}</div>
  6. </template>
  7. </el-table-column>
  8. <el-table-column prop="age" label="年龄" width="180"></el-table-column>
  9. <el-table-column
  10. prop="salary"
  11. label="年薪/元"
  12. width="180"
  13. ></el-table-column>
  14. <el-table-column
  15. prop="address"
  16. label="地址"
  17. width="180"
  18. ></el-table-column>
  19. </el-table>

由于我想点击人物的名字获取相应的详情对象,再弹窗出来。所以用到slot-scope,然后我们可以读出scope.row,其中就能获得一个对象,然后包括这行这个人所有的详细信息(包括姓名,年龄,年薪以及住址),然后可以在methods里边配置图中的alertMessage方法,如下图。

  1. methods: {
  2. alertMessage(row) {
  3. window.alert(
  4. `我叫${row.name},今年${row.age}岁,年薪${row.salary}元,住在${row.address}`
  5. );
  6. },
  7. },

这样的话,我们就可以打开这个页面看到如下效果

然后点击每个名字,会出现弹窗,如下

......等等

这样的话,我们这个问题就解决了。举一反三,如果是要跳转到对应的详情页,就得点击后,获取scope.row的id属性,然后通过this.$router.push({path:'...',query:{id:'...'}}),即可跳转到相应的详情页。

学会了吗?别忘了自己打开电脑写一写练一练哦。

 

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发