我在使用vue与element-ui写页面,我需要做一个button点击以后弹出一个组件,这个组件里有两个选择框,都选择以后点击组件里的确认按钮会跳转到一个网页,代码怎么完成
时间: 2024-03-05 07:50:16 浏览: 67
您可以在button的点击事件中,使用Element UI的Dialog组件来实现弹出一个组件的效果。在弹出的组件中,可以使用Element UI的Select组件来实现选择框的效果。最后,在确认按钮的点击事件中,可以使用Vue Router来实现页面跳转的效果。以下是一个简单的代码示例供参考:
```html
<template>
<div>
<el-button type="primary" @click="showDialog">打开对话框</el-button>
<el-dialog :visible.sync="dialogVisible">
<el-select v-model="selectedOption1" placeholder="请选择选项一">
<el-option label="选项一-1" value="option1-1"></el-option>
<el-option label="选项一-2" value="option1-2"></el-option>
</el-select>
<el-select v-model="selectedOption2" placeholder="请选择选项二">
<el-option label="选项二-1" value="option2-1"></el-option>
<el-option label="选项二-2" value="option2-2"></el-option>
</el-select>
<div slot="footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="confirm">确认</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapActions } from 'vuex'
export default {
data() {
return {
dialogVisible: false,
selectedOption1: '',
selectedOption2: ''
}
},
methods: {
showDialog() {
this.dialogVisible = true
},
confirm() {
// 在这里使用Vue Router实现页面跳转
this.$router.push({
path: '/some-page',
query: {
option1: this.selectedOption1,
option2: this.selectedOption2
}
})
// 关闭对话框
this.dialogVisible = false
}
}
}
</script>
```
在上面的代码中,我们使用了Element UI的Dialog组件来实现弹出对话框的效果。在对话框组件中,我们使用了两个Select组件来实现选择框的效果。在确认按钮的点击事件中,我们使用Vue Router的push方法来实现页面跳转的效果,并且将选择的选项作为参数传递到跳转的页面中。最后,我们关闭了对话框组件。
阅读全文