【VUE】vue + element 插槽实现表格某一列点击事件

一、问题背景

想对表格的某一列添加点击事件。
原效果如下:
【VUE】vue + element 插槽实现表格某一列点击事件_第1张图片
目标效果:
【VUE】vue + element 插槽实现表格某一列点击事件_第2张图片

二、解决方法

使用vue 的slot插槽来解决这个问题:
代码如下:

关键代码如下:

<template slot-scope="scope">
   <a @click="handleClick(scope.row)" style="color:blue;cursor:pointer">{{ scope.row.databaseName }}          a>
template>

整体代码贴下:

<el-table
    :data="tableData"
    stripe
    style="width: 100%">
    <el-table-column
      prop="databaseName"
      label="库名"
      width="300">
      
        <template slot-scope="scope">
            <a @click="handleClick(scope.row)" style="color:blue;cursor:pointer">{{ scope.row.databaseName }}a>
        template>
      
    el-table-column>
    <el-table-column
      prop="comment"
      label="详情"
      width="300">
    el-table-column>
    <el-table-column
      prop="address"
      label="存储地址">
    el-table-column>
    <el-table-column
      fixed="right"
      label="操作"
      width="100">
     <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">查看el-button>
            <el-button type="text" size="small">编辑el-button>
      template>
      el-table-column>
  el-table>


export default {
  components: {},
  props: [],
  data() {
    return {
        tableData: [],
        formInline: {
          user: '',
          region: ''
        }
    }
  },
  computed: {},
  watch: {},
  created() {},
  mounted() {
  },
  methods: {
    handleClick(row) {
        console.log(row);
    }
    
  }
}

你可能感兴趣的:(前端,vue,elementui)