做项目的时候,某处多选需要修改为单选,看到这个问题觉得很简单啊,果然,打开vue组件库,轮子已经搭好了,复制粘贴一气呵成。
但是测试有话说了,该处和需求不符合啊,你看需求单选后会出现对勾作为选中标志(vue组件只提供了高亮),你是不是得改一改。

image.png

好吧,改!初步思路有两种,**一种**是使用vue组件库的多选框实现单选功能,**另一种**是在原单选基础上额外添加√标志。
照旧先去找轮子,网上大多数解决方法都是多选框改单选(在选择第二项的时候添加判定,将第一项推出数组),但是毕竟懒,已经使用了单选的组件,还要修改为多选并添加判定。。
去组件库查看单选框改变时的函数参数,有了,该处传参可以传入现在选中行和原本选择行,既然这样,添加一个参数控制√图片显示即可。

image.png

下面贴代码

<el-table 
    highlight-current-row
    @current-change="handleCurrentChange"
    >
</el-table>
<el-table-column prop="selectCurrentRow" width="40">
            <template slot-scope="scope">
              <span>
                <img v-if="scope.row.selectCurrentRow" src="../../static/images/selected.png" />
              </span>
            </template>
          </el-table-column>
if (xxx) {
    xxx.push({
        selectCurrentRow: false,
            });
handleCurrentChange(nowVal, preVal) {
      nowVal.selectCurrentRow = true;
      preVal.selectCurrentRow = false;
    },

JCZhang
1 声望0 粉丝