这里我在el-option的选项文字后面添加了两个svg按钮(编辑和删除):如图
当我们点击el-option时无法区分是勾选el-option还是点击了el-option选项文字后面的按钮,其实只要在后面的编辑和删除的操作按钮的click事件上面添加.native.stop即可阻止事件冒泡,实现勾选与操作分离------点击操作按钮区域外为勾选,点击操作按钮即操作
见以下代码
<el-option v-for="item in dataResourceOptions" :key="item.value" :label="item.label" :value="item.value" ><template #default><div class="flex items-center justify-between"><div class="flex items-center gap-5"><div class="flex items-center w-18"><app-svg-icon icon-name="check" class="w-18 h-18"></app-svg-icon></div><span>{{ item.label }}</span></div><div class="flex items-center gap-5"><div class="w-25 h-25 flex items-center pl-5 option-operation-button" @click.native.stop="handleFieldItemClick(item,'编辑')"><app-svg-icon icon-name="pencil" class="w-16 h-16"></app-svg-icon></div><div class="w-25 h-25 flex items-center pl-5 option-operation-button" @click.native.stop="handleFieldItemClick(item,'删除')"><app-svg-icon icon-name="x-close" class="w-16 h-16"></app-svg-icon></div></div></div></template></el-option>