The*_*Guy 3 javascript vue.js vuetify.js
有人知道如何根据服务器应答的结果显示小吃栏。
例如,如果提交正常,则显示成功的绿色小吃栏和成功消息,但如果出现错误,我需要显示红色错误小吃栏和错误消息的绑定。
我想我需要通过一个方法来显示它。我想在像这样的一个小吃店里做到这一点。
<v-snackbar
:color = "color"
> {{text here}}
</v-snackbar
Run Code Online (Sandbox Code Playgroud)
服务器帖子示例
http.post(apiAdresse, objectToPost)
.then(() => {
something to do here})
.catch(error => {
console.log(error)};)
Run Code Online (Sandbox Code Playgroud)
编辑代码:
<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>
Run Code Online (Sandbox Code Playgroud)
当我点击关闭按钮时
Error in v-on handler: "TypeError: Cannot use 'in' operator to search for 'show' in false"
Run Code Online (Sandbox Code Playgroud)
我会这样做:
<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>
Run Code Online (Sandbox Code Playgroud)
你之所以得到这个结果是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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5694 次 |
| 最近记录: |