怎么在选择某行或某项后获得选取的数据

138 阅读1分钟

选择某行或某项后获得选取到的数据,三种常见情况:

1、table表格前有复选框,点击复选框拿到选择行的数据,进行删改操作;

Table Events:selection-change—当选择项发生变化时会触发该事件—selection,selection-change事件默认接收参数就是选择的行。

<template>
  <el-table
    ref="multipleTable"
    :data="tableData"
    tooltip-effect="dark"
    style="width: 100%"
    @selection-change="handleSelectionChange">
    <el-table-column
      type="selection"
      width="55">
    </el-table-column>
  </el-table>
</template>
<script>
  export default {
     methods: {
      handleSelectionChange(val) {
        this.multipleSelection = val;
      }
    }
  }
</script>

a6c41666483810138182bdb0e64c6b3.png

2、下拉选择框Select,选择项选择或者改变后拿到选择或者改变后的值;

Select Events:change—选中值发生变化时触发—目前的选中值,change 事件默认接收参数就是选择或改变后的值。

<template>
  <el-select
    v-model="value"
    filterable
    @change="selectChange"
    placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
</template>
<script>
  export default {
   methods: {
     selectChange(val){
       console.log(val, '选择或者改变后的值')
    }
   }
  }
</script>

bf06f2ed2e50f0fc44d01dafdb602f6.png

3、table表格单击或者双击后拿到点击行的数据,进行删改操作;

通过插槽,可以获取到 row, $index 的数据, scope.row就是本行所有单元格数据

<template>
  <el-table
    :data="tableData"
    style="width: 100%">
	<el-table-column label="操作">
      <template slot-scope="scope">
        <el-button
          size="mini"
          @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
        <el-button
          size="mini"
          type="danger"
          @click="handleDelete(scope.$index, scope.row)">删除</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
  export default {
    methods: {
      handleEdit(index, row) {
        console.log(index, row);
      },
      handleDelete(index, row) {
        console.log(index, row);
      }
    }
  }
</script>

aba5bdaeb4d5ad24479149a24cbb38b.png