Bootstrap

elementUI爬坑之路——el-table选项框(页面跳转,之前已经勾选过的自动选择+点击整行选择+页面跳转累加)

初入前端,为公司的一个项目写运营端,使用的组件是elementUI,遇到了表格选项框的一些问题,现已解决,现整理如下:

需求

1.这个表格是一个模块关联部分的表格。用户在选择了对应的词条后再去关联对应的法律章节。要做的操作则是在加载法律章节表时,有些章节之前已经与相应的词条关联,那么加载时就自动勾选显示(让用户了解到该章节之前已经勾选过)
2.实现点击表格的其中一行,则该行选项框被勾选
3.对于已经选过的仍可以取消勾选,翻页后可以累加选项

实现

先从比较简单的需求说开

1.点击整行勾选

el-table中有一个row-click事件,可以用它来实现

<el-table
      :data="tableData"
      border
      @selection-change="handleSelectionChange"
      style="width: 100%;"
      ref="multipleTable"
      @row-click="clickRow"
    >
      <el-table-column type="selection" width="55"></el-table-column>
      <el-table-column prop="id" label="编号" width="70"></el-table-column>
</el-table>
// 选中整行
    clickRow(row, column, event) {
   
      this.$refs.multipleTable.toggleRowSelection(row);
    }

在加载表格时,之前已经勾选过的,默认勾选状态

注:该功能需与后端配合
在加载表格时,后端返回的数据中会对每一条数据再添加一个isSelected属性,如果为1,则是之前勾选过,加载时也需要处于勾选状态。
后台数据大概这样

{
   
"code":0,
"message":null,
"data":
{
   
"partIdList":[18,19,9,8,7,29,28,4,5,6,41,42,43],
"lawList":
[
{
   "id":1,"lawId":1,"fileTitle":null,"zhangTitle":null,"jieTitle":null,"tiaoContent":"度。","tiaoNum":null,"source":null,"voiceId":1,"videoId":null,"seq":null,"isDelete":0,"createTime":"2019-12-07T03:18:57.000+0000","lastUpdateTime":"2019-12-07T03:18:57.000+0000","isSelected":null,"lawParts":null,"resLawPartId":1,"duration":null,"formatDuration":null,"viewCount":null,"lawName":"全国人大常委会关于批准2012年中央决算的决议"},{
   "id":2,"lawId":1,"fileTitle":null,"zhangTitle":null,"jieTitle":null,"tiaoContent":"法。","tiaoNum":null,"source":null,"voiceId":null,"videoId":null,"seq":null,"isDelete":0,"createTime":"2019-12-07T03:18:57.000+0000","lastUpdateTime":"2019-12-07T03:18:57.000+0000","isSelected":null,"lawParts":null,"resLawPartId":2,"duration"
;