背景
我們在工作中常用的一般都是使用類似于 element-plus 中的 el-radio 或者是 el-checkbox 來實現單選或者多選
若有一天我們遇到了一個新的業務需求,需要使用 圖片 來實現類似于 el-radio 的功能,并且要求實現第一次點擊時處于選中狀態,當我們再次點擊時處于非選中狀態。對于這種效果該如何實現?
下面給出了可實現的兩種方案:
實現方案
- 第一種就是利用 input元素和img元素,主要利用input元素的checked屬性,具體的代碼實現可參考我之前寫的有關vue2實現:juejin.cn/post/728791…
- 第二種就是利用img元素以及數組的有關知識進行,這里著重介紹該種方法
實現效果如下:
大概思路
- 為了能夠實現這個類似于選中和取消選中的效果,這里需要對后臺返回的數據加以處理,給每條數據增加一個isChecked: false,以此來初始化其選中與否的狀態
封裝組件
ImageCheckRadio.vue
<template><div class="image-checked-co