- 前一阵子在做项目修改样式时,点击了页面上的按钮后,路由被自动添加了“?”,导致闪屏
- 该项目使用了elementUI组件,代码示例
<div>
<!-- form筛选表单 -->
<el-form >
<div >
<el-form-item class="icon">
<el-input ></el-input>
</el-form-item>
<div>
<button class="blue icon" @click="add"> //点击后会触发一个新增的dialog
<i class="el-icon-plus"></i> 新增
</button>
</div>
</div>
</el-form>
</div>
- 由于涉及到项目,所以只贴出了部分代码
- 此时路由为http://localhost:8080/A/B
- 此时点击button后,路由变成了http://localhost:8080/A/B? 同时页面闪屏
- 这是因为在这里我们使用了form表单,点击button按钮后会触发它的默认事件,即“提交”
- 解决方案,使用@click.prevent阻止默认事件,代码如下:
<div>
<!-- form筛选表单 -->
<el-form >
<div >
<el-form-item class="icon">
<el-input ></el-input>
</el-form-item>
<div>
<button class="blue icon" @click.prevent="add"> //改动在这里
<i class="el-icon-plus"></i> 新增
</button>
</div>
</div>
</el-form>
</div>