要实现点击 el-table 的某一行时,显示 el-popover 信息,可以使用以下步骤:

  1. 在 el-table 的每一行上添加一个点击事件处理程序,例如 @row-click="showPopover"

  2. 在 Vue 组件的 methods 中定义 showPopover 方法,该方法会在点击行时触发。在该方法中,你可以使用 Vue 的响应式数据来控制 el-popover 的显示与隐藏状态。

  3. 在 el-table 的每一行中,可以使用 scoped slot 来自定义每一行的内容。在 scoped slot 中,你可以根据需要添加 el-popover 组件,并使用响应式数据来控制其显示与隐藏。

下面是一个示例代码:

<template>
  <div>
    <el-table :data="tableData" @row-click="showPopover">
      <el-table-column label="Name">
        <template slot-scope="scope">
          <div>{{ scope.row.name }}</div>
          <el-popover v-model="scope.row.showPopover" trigger="click">
            <p>{{ scope.row.description }}</p>
          </el-popover>
        </template>
      </el-table-column>
      <!-- 其他列... -->
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: 'John', description: 'Description 1', showPopover: false },
        { name: 'Jane', description: 'Description 2', showPopover: false },
        // 其他数据...
      ]
    };
  },
  methods: {
    showPopover(row) {
      row.showPopover = !row.showPopover;
    }
  }
};
</script>

在上面的示例中,el-table 的每一行都有一个名为 showPopover 的响应式属性,用于控制 el-popover 的显示与隐藏。当点击行时,会触发 showPopover 方法,该方法会将 showPopover 属性的值进行切换,从而实现 el-popover 的显示与隐藏。


原文地址: https://www.cveoy.top/t/topic/pKTN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录