有人知道如何根据服务器的回答结果显示小吃条。
例如,如果提交正常,则显示带有成功消息的成功绿色小吃店,但是如果我遇到错误,则需要显示带有错误消息绑定的红色错误小吃店。
我认为我需要通过一种方法来显示它。 我只想在一个这样的小吃店里做。
<v-snackbar
:color = "color"
> {{text here}}
</v-snackbar
服务器帖子示例
http.post(apiAdresse, objectToPost)
.then(() => {
something to do here})
.catch(error => {
console.log(error)};)
编辑代码:
<v-snackbar
:color="snackbar.color"
v-model="snackbar.show">
<v-icon class="snackIcon">{{snackbar.icon}}</v-icon>
{{ snackbar.message }}
<v-btn
dark
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
当我单击关闭btn时
Error in v-on handler: "TypeError: Cannot use 'in' operator to search for 'show' in false"
答案 0 :(得分:2)
我会这样做:
<template>
<!-- Set the color, v-model and message values in the data prop -->
<v-snackbar :color="snackbar.color" v-model="snackbar.show">
{{ snackbar.message }}
</v-snackbar>
</template>
<script>
export default {
data: () => ({
snackbar: {
show: false,
message: null,
color: null
}
}),
methods: {
submitAction() {
http.post(apiAdresse, objectToPost)
.then(() => {
this.snackbar = {
message: 'Your success message',
color: 'success',
show: true
}
})
.catch(error => {
this.snackbar = {
message: 'Your error message',
color: 'error',
show: true
}
})
}
}
}
</script>
您得到Error in v-on handler: "TypeError: Cannot use 'in' operator to search for 'show' in false"
的原因是您试图将快餐栏对象更新为布尔值。您应该改为:
<v-btn dark text @click="snackbar.show = false">
Close
</v-btn>