账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    el-table改造之后多选功能无法实现?
    55
    0

    背景:
    el-table组件要实现以下需求:
    如果返回的数据rowLocked = 1 则本行最前面不可被选中,显示icon,如果rowlocked !=1 则本行之前可以出现checkbox 可以多选,进行批量删除

    代码如下

    `

     <el-table
        :data="tableData"
        :key="key"
        ref="multipleTable"
        border
        highlight-current-row
        style="width: 100%;margin-top:20px;"
        class="success"
        stripe
        @selection-change="handleSelectionChange"
        @sort-change="sortChange"
      >
        <el-table-column width="55">
          <template slot-scope="scope">
            <el-checkbox
              v-if="scope.row.rowLocked !==1"
              @change="handleSelectionChange(scope.row)"
              v-model="scope.row.checked"
            />
            <img class="lockImg" :src="lockImg" v-else />
          </template>
        </el-table-column>
    

    `

     @change="handleSelectionChange(scope.row)

    现在想在这个方法里面实现多选 把被选中的行的id 放到一个待删除的数组 selectedId里面,现在无法实现,求教一下该如何实现

    `

     //多选
    handleSelectionChange(val) {
      console.log(val);
    },

    `

    之前没进行改造的时候,沿用了el-table本身的多选是没有问题的 因为这个时候val 是一个数组 可以用map进行循环遍历 但是上一个方法里面使用如下方法,提示map not a function 因为看了一下返回的val是一个 对象 并非一个数组
    `

    //多选
    handleSelectionChange(val) {
      this.selectionId = val.map(item => {
        return item.id;
      });
    },

    `

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部