当前位置: 首页 > 知识库问答 >
问题:

前端 - Vue.js el-table 点击行任意位置展开/收起?

苍兴怀
2023-12-26

el-table树形数据与懒加载如何点击当前行任何地方展开收起,不仅仅是点三角标,还有编辑完后不收起来,依旧展开,每次编辑完都收起来不知道改了哪个

共有2个答案

松献
2023-12-26

这里应该是你更新了所有的数据,所以被收起了。

可以通过不刷新来看一下确认是否是这个问题。

自定义展开就是用 toggleRowExpansion

也可以用 expand-row-keys

将 expand 变成受控的即可

宋飞文
2023-12-26

你可以使用 row-class-name 属性来给每一行添加自定义的 CSS 类,然后使用这个类来控制行的展开和收起。下面是一个简单的例子:

<template>  <el-table    :data="tableData"    style="width: 100%"    :row-class-name="tableRowClassName"  >    <el-table-column type="expand">      <template slot-scope="props">        <el-form ref="form" :model="props.row" label-width="80px">          <el-form-item label="Name">            <el-input v-model="props.row.name"></el-input>          </el-form-item>          <el-form-item label="Age">            <el-input v-model="props.row.age"></el-input>          </el-form-item>          <el-button type="primary" @click="editForm(props.row)">Edit</el-button>        </el-form>      </template>    </el-table-column>    <el-table-column      prop="date"      label="Date"      width="180"    ></el-table-column>    <el-table-column      prop="name"      label="Name"      width="180"    ></el-table-column>    <el-table-column      prop="address"      label="Address"    ></el-table-column>  </el-table></template><script>export default {  data() {    return {      tableData: [{        date: '2016-05-03',        name: 'Tom',        age: 18,        address: 'No. 189, Grove St, Los Angeles'      }, {        date: '2016-05-02',        name: 'Jerry',        age: 19,        address: 'No. 189, Grove St, Los Angeles'      }]    }  },  methods: {    tableRowClassName({row, rowIndex}) {      if (row.editing) {        return 'editing'; // 定义展开行的 CSS 类名,这里假设为 'editing'。你可以根据需要自定义。      } else {        return ''; // 当行没有处于编辑状态时,返回空字符串。你可以根据需要返回其他 CSS 类名。      }    },    editForm(row) { // 编辑表单的方法。你可以根据需要修改。这里假设点击编辑按钮后,行会进入编辑状态。你可以根据实际需求修改。      row.editing = true; // 将行设置为编辑状态。你可以根据实际需求修改。注意这里我们是在 `ref` 中对表单进行了本地状态的管理,你需要自行进行相关操作以完成表单的提交和取消编辑等操作。    }  }}</script>
 类似资料:
  • 我从这里摘取了一些代码,允许通过单击行上的任何位置来选择JTree行。它在单行选择模式下工作良好。但是,我不确定如何修改它,以便处理多行选择。当用户进行多个选择(例如,在鼠标左键单击一行的同时按住shift或control按钮)时,我如何区分这种情况?

  • 我面临的问题与垫扩展面板。参见stackblitz https://stackblitz.com/edit/Angular-jmitne-mvbxcm?file=app/expansion-overview-example.ts 我为点击第2节添加了一个控制台日志。 步骤:单击section 2展开并单击段落文本,将调用Click事件。我们可以在控制台日志中看到这一点,这对我来说是一个大问题,因为

  • 我想让我的应用程序检测鼠标点击在屏幕上的任何地方,而不必使应用程序聚焦。我想要它检测鼠标事件普遍,即使它最小化。到目前为止,我只能在swing GUI中检测鼠标事件。 Autohotkey可以随时检测鼠标点击并获得鼠标的位置,用Java怎么做到这一点呢?

  • 我正在尝试在plotly中实现“单击任意位置”功能,以便在用户单击plotly图表的任意位置时获得坐标。当前的“官方”plotly功能仅在用户单击打印数据点时起作用,但我想注册单击,例如在背景白色画布上。 plotly中闪亮的点击事件可以做到这一点,但令人惊讶的是,plotly中似乎还不存在这种情况。 我做了一些研究,发现下面的代码笔实现非常接近:https://codepen.io/tim-lo

  • 我是r-plotly的新手,我正在试图弄清楚如何处理不在数据上的点击。似乎使用我可以从数据中获取点上的事件,但到目前为止,我还没有弄清楚如何对不接近数据但仅在绘图白色部分的单击执行此操作。 来自绘图的闪亮点击事件可以做到这一点,我只需要得到点击的x和y。我想要类似的,但情节要详细。 我是否可以将单击事件指定为来自plotly plot上的任意位置,而不仅仅是数据? 编辑:令人惊讶的是,这在plot

  • 在vue中,如何实现点击表头任意位置就能实现表格全屏效果