在导航栏实现一个按钮,点击按钮弹出对应的对话框,对话框中有2个选项,分别为送花和友好建议,然后点击选项,在转跳到对应的界面使用vue实现
时间: 2024-10-16 18:04:45 浏览: 18
在Vue.js中实现这个功能,可以按照以下步骤进行:
1. **HTML部分**:
```html
<template>
<div>
<nav class="navbar">
<button @click="showModal">选择动作</button>
<transition name="modal" v-if="isModalVisible">
<dialog :model="modalData">
<p>请选择操作:</p>
<button @click="handleAction('sendFlowers')">送花</button>
<button @click="handleAction('suggestion')">友好建议</button>
</dialog>
</transition>
</nav>
</div>
</template>
```
2. **CSS部分 (假设有一个名为modal的过渡动画):**
```css
.modal-enter-active,
.modal-leave-active {
transition: all 0.5s ease;
}
.modal-enter,
.modal-leave-to {
transform: scale(0);
}
```
3. **JavaScript部分 (在script标签中):**
```javascript
<script>
export default {
data() {
return {
isModalVisible: false,
modalData: {
actionOptions: ['sendFlowers', 'suggestion'],
},
};
},
methods: {
showModal() {
this.isModalVisible = true;
},
handleAction(action) {
this.isModalVisible = false; // 关闭对话框
switch (action) {
case 'sendFlowers':
this.navigateToSendFlowers();
break;
case 'suggestion':
this.navigateToSuggestion();
break;
// 如果有更多页面,添加对应case...
}
},
navigateToSendFlowers() {
// 实现跳转到送花页面的代码
},
navigateToSuggestion() {
// 实现跳转到友好建议页面的代码
},
},
};
</script>
```
在这个例子中,当点击导航栏的按钮时,`showModal`方法会被触发,显示对话框。点击对话框中的按钮会触发`handleAction`方法,根据用户的选择调用相应的`navigateTo*`方法并关闭对话框。
阅读全文