消息条
v-snackbar
组件用于向用户显示快速消息。消息条支持定位、移除延迟和回调。
用例
v-snackbar
以最简单的形式向用户显示一个临时且可关闭的通知。
template script
<template>
<div class="text-center ma-2">
<v-btn dark @click="snackbar = true">Open Snackbar</v-btn>
<v-snackbar
v-model="snackbar"
>
{{ text }}
<v-btn
color="pink"
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
</div>
</template>
<script>
export default {
data: () => ({
snackbar: false,
text: 'Hello, I\'m a snackbar',
}),
}
</script>
API
从下面选择您想要的组件,并查看可用的属性、插槽、事件和函数。
实战场
template script
<template>
<v-card>
<v-card-text>
<v-container fluid>
<v-row>
<v-col cols="12">
<v-radio-group v-model="color" row>
<v-radio
v-for="(colorValue, i) in ['success', 'info', 'error', 'cyan darken-2']"
:key="i"
:color="colorValue"
:label="colorValue"
:value="colorValue"
></v-radio>
</v-radio-group>
</v-col>
<v-col cols="12" sm="3">
<v-checkbox
v-model="x"
label="Left"
value="left"
></v-checkbox>
</v-col>
<v-col cols="6" sm="3">
<v-checkbox
v-model="x"
label="Right"
value="right"
></v-checkbox>
</v-col>
<v-col cols="6" sm="3">
<v-checkbox
v-model="y"
label="Top"
value="top"
></v-checkbox>
</v-col>
<v-col cols="6" sm="3">
<v-checkbox
v-model="y"
label="Bottom"
value="bottom"
></v-checkbox>
</v-col>
<v-col cols="12" sm="3">
<v-checkbox
v-model="mode"
label="Multi-line (mobile)"
value="multi-line"
></v-checkbox>
</v-col>
<v-col cols="12" sm="3">
<v-checkbox
v-model="mode"
label="Vertical (mobile)"
value="vertical"
></v-checkbox>
</v-col>
<v-col cols="12" sm="4">
<v-text-field
v-model="text"
class="px-4"
label="Text"
type="text"
></v-text-field>
</v-col>
<v-col cols="12" sm="4">
<v-text-field
v-model.number="timeout"
class="px-4"
label="Timeout"
type="number"
></v-text-field>
</v-col>
</v-row>
</v-container>
<v-btn
block
color="primary"
dark
@click="snackbar = true"
>
Show Snackbar
</v-btn>
</v-card-text>
<v-snackbar
v-model="snackbar"
:bottom="y === 'bottom'"
:color="color"
:left="x === 'left'"
:multi-line="mode === 'multi-line'"
:right="x === 'right'"
:timeout="timeout"
:top="y === 'top'"
:vertical="mode === 'vertical'"
>
{{ text }}
<v-btn
dark
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
</v-card>
</template>
<script>
export default {
data () {
return {
color: '',
mode: '',
snackbar: false,
text: 'Hello, I\'m a snackbar',
timeout: 6000,
x: null,
y: 'top',
}
},
}
</script>
示例
下面是一些简单到复杂的例子。
多行
multi-line
属性扩展了 v-snackbar
的高度,为您提供了更多的内容空间。
template script
<template>
<div class="text-center">
<v-btn
dark
color="red darken-2"
@click="snackbar = true"
>
Open Snackbar
</v-btn>
<v-snackbar
v-model="snackbar"
:multi-line="multiLine"
>
{{ text }}
<v-btn
color="red"
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
</div>
</template>
<script>
export default {
data: () => ({
multiLine: true,
snackbar: false,
text: 'I\'m a multi-line snackbar.',
}),
}
</script>
超时
timeout
属性允许您自定义隐藏 v-snackbar
之前的延迟。
template script
<template>
<div class="text-center">
<v-btn
dark
color="orange darken-2"
@click="snackbar = true"
>
Open Snackbar
</v-btn>
<v-snackbar
v-model="snackbar"
:timeout="timeout"
>
{{ text }}
<v-btn
color="blue"
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
</div>
</template>
<script>
export default {
data: () => ({
snackbar: false,
text: 'My timeout is set to 2000.',
timeout: 2000,
}),
}
</script>
垂直
vertical
属性允许您堆叠您的 v-snackbar
的内容。
template script
<template>
<div class="text-center">
<v-btn
dark
color="indigo"
@click="snackbar = true"
>
Open Snackbar
</v-btn>
<v-snackbar
v-model="snackbar"
:vertical="vertical"
>
{{ text }}
<v-btn
color="indigo"
text
@click="snackbar = false"
>
Close
</v-btn>
</v-snackbar>
</div>
</template>
<script>
export default {
data: () => ({
snackbar: false,
text: 'Lorem ipsum dolor sit amet',
vertical: true,
}),
}
</script>