ElementUI弹窗el-dialog自定义头部后点右上角的'失效、点不了BUG

尝试网上百度找了很多文章也没找到跟此问题相关的解决方案,记录一下方便大家查阅!!!
描述:el-dialog弹窗自定义头部后点右上角的'x'失效、点不了,点了没反应BUG

image

 代码:

 1 <el-dialog
 2       title="计划选择"
 3       :visible.sync="dialogVisible"
 4       width="90%"
 5     >
 6       <template slot="title">
 7         <div style="height: 30px;line-height: 30px;">
 8           <span style="font-size: 16px;font-weight: 700;color: #172b4d;display: inline-block;">计划选择</span>
 9           <el-select
10             placeholder="请选择模板"
11             @change="changeMaterial"
12             style="width: 250px;margin-left: 10px"
13             v-model="tplFieldMainId"
14           >
15             <el-option
16               v-for="item in templateOptions"
17               :key="item.id"
18               :label="item.tplName"
19               :value="item.id">
20             </el-option>
21           </el-select>
22           <button type="button" @click="handleClose" aria-label="Close" class="el-dialog__headerbtn"><i
23             class="el-dialog__close el-icon el-icon-close"></i></button>
24         </div>
25       </template>
26 <div slot="footer" class="dialog-footer">
27         <el-button @click="dialogVisible=false">取消</el-button>
28         <el-button type="primary" @click="confirmRecommend">确认</el-button>
29       </div>
30     </el-dialog>

解决问题的关键代码:在头部的插槽里把关闭按钮加上,因为通过自定义头部的内容跟原本的样式有冲突了,导致点击‘x’点不到,自然就触发不了关闭事件

<button type="button" @click="handleClose" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button>
  handleClose() {
      this.dialogVisible = false
    },

 

posted @ 2025-09-11 10:17  星期7  阅读(20)  评论(0)    收藏  举报