<el-dialog :title="formEditTitle" :visible.sync="dialogEdittVisible" width="700px"> <div style="display: flex; justify-content: center; height: 40px;"> <span style="align-self: center;">总量:</span> <el-input id="input-box" @input="forceUpdate" placeholder="在这里输入内容" v-model="dialogObj.name" style="width: 250px;"></el-input> <div class="radiobox" style="flex: 1; height: 100px; text-align: center; margin-left: 20px;"> <el-form> <span>分项:</span> <el-select filterable v-model="dialogObj.indexName" placeholder="请选择" @change="showSelectedValue" style="flex: 1; height: 100px; text-align: center;"> <el-option v-for="(itemOne, item) in templateList" :key="item" :label="itemOne" :value="itemOne" > </el-option> </el-select> </el-form> </div> <el-button @click="addToSelectedData" style="height: 40px;" :clearable="false">添加</el-button> </div> <el-table :data="dialogObj.children"> <el-table-column prop="name" label="分项"></el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button @click="deleteSelectedData(scope.$index)">删除</el-button> </template>怎么实现提交之后刷新页面
时间: 2023-07-03 17:04:58 浏览: 131
如果你想在提交数据后刷新页面,可以在提交数据成功的回调函数中使用 `window.location.reload()` 方法来刷新页面。举个例子,你可以在提交数据的方法中添加以下代码:
```
axios.post('/submitData', this.formData).then(response => {
// 提交成功后的回调函数
window.location.reload(); // 刷新页面
}).catch(error => {
console.log(error);
});
```
这样,在提交数据成功后,页面就会重新加载并刷新数据。当然,为了避免重复提交数据,你还需要在提交数据的按钮上添加禁用属性,例如:
```
<el-button :loading="submitting" @click="submitData" :disabled="submitting">提交</el-button>
```
其中,`submitting` 是一个响应式的变量,用来表示当前是否正在提交数据。在提交数据方法中,你需要将 `submitting` 设置为 `true`,并在提交成功或失败后将其设置为 `false`。
相关问题
el-dialog设置关闭按钮位置
在Element UI中,`el-dialog`组件默认的关闭按钮位置是在右上角。如果你需要自定义关闭按钮的位置,可以通过以下几种方式来实现:
1. **使用插槽(Slots)**:
你可以使用`header`插槽来自定义对话框的头部内容,从而改变关闭按钮的位置。
```html
<el-dialog
:visible.sync="dialogVisible"
width="30%">
<template v-slot:header>
<div class="custom-header">
<span class="dialog-title">自定义标题</span>
<button class="close-button" @click="dialogVisible = false">关闭</button>
</div>
</template>
<span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</span>
</el-dialog>
```
```css
.custom-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.close-button {
background: none;
border: none;
font-size: 18px;
cursor: pointer;
}
```
2. **使用CSS样式**:
你可以通过覆盖默认样式来调整关闭按钮的位置。
```html
<el-dialog
:visible.sync="dialogVisible"
width="30%">
<span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</span>
</el-dialog>
```
```css
.el-dialog__header {
position: relative;
}
.el-dialog__headerbtn {
position: absolute;
top: 10px;
right: 10px;
}
```
3. **使用自定义按钮**:
你可以隐藏默认的关闭按钮,然后使用自定义按钮来控制对话框的关闭。
```html
<el-dialog
:visible.sync="dialogVisible"
width="30%"
:show-close="false">
<span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
<button class="custom-close" @click="dialogVisible = false">关闭</button>
</span>
</el-dialog>
```
```css
.custom-close {
background: none;
border: none;
font-size: 18px;
cursor: pointer;
position: absolute;
top: 10px;
right: 10px;
}
```
通过以上方法,你可以根据需要自定义`el-dialog`组件的关闭按钮位置。
如何给el-dialog实现响应式
要给 el-dialog 实现响应式,可以使用 CSS 的媒体查询和 flex 布局。具体实现步骤如下:
1. 在 el-dialog 的外层包裹一个 div 容器,设置该容器为 flex 布局,并将子元素(el-dialog)的宽度设置为 100%。
2. 使用 CSS 媒体查询来设置 el-dialog 在不同屏幕尺寸下的样式,如:
```
@media screen and (max-width: 768px) {
.dialog-container {
flex-direction: column;
}
.dialog-container .el-dialog {
width: 100%;
}
}
```
在上述代码中,当屏幕宽度小于 768px 时,将容器的 flex-direction 设置为 column(纵向排列),并将 el-dialog 的宽度设置为 100%。
3. 根据需要设置 el-dialog 的最大宽度和最大高度,以保证在不同屏幕尺寸下都能正常显示。
下面是一个示例代码:
```html
<template>
<div class="dialog-container">
<el-dialog
title="对话框标题"
:visible.sync="dialogVisible"
:max-width="maxWidth"
:max-height="maxHeight"
>
<p>对话框内容</p>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
maxWidth: '800px',
maxHeight: '600px'
}
}
}
</script>
<style>
.dialog-container {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 768px) {
.dialog-container {
flex-direction: column;
}
.dialog-container .el-dialog {
width: 100%;
}
}
</style>
```
在上述示例中,我们将 el-dialog 包裹在一个名为 dialog-container 的 div 容器中,使用 flex 布局将其居中显示。在不同屏幕尺寸下,容器的 flex-direction 会发生变化,从而实现了 el-dialog 的响应式布局。
阅读全文