我正在使用Vue 3
和Bootstrap 5
。
我有一个button
和两个inputs
。当我单击button
时,我想得到一个"milky" overlay
,如下所示:
我如何才能做到这一点?
要使用的程式码:
<template>
<div class="row">
<button class="btn btn-dark" @click="overlayMilky()">Button</button>
</div>
<div class="row mt-2">
<div class="col-12">
<span>Input 2</span>
<input class="form-control" />
</div>
<div class="col-12">
<span>Input 3</span>
<input class="form-control" />
</div>
</div>
</template>
<script>
export default {
methods: {
overlayMilky() {
//set overlay to milky
}
}
}
</script>
2条答案
按热度按时间2eafrhcq1#
首先,您需要用
container
元素包围输入,并为此元素给予position: relative
,并向其添加一个子元素,该子元素将是overlay
,这应该使position: absolute
相对于container
元素是绝对的,还应该有width: 100%; height: 100%; top: 0px; left: 0px;
来获取容器元素的完整大小,然后有条件地使用v-if
,您可以使用state
将其show/hide
第一个
这是一个完整的代码示例。
atmip9wb2#
你需要添加一个
data
字段来描述“mucky”覆盖状态,所以你需要在overlayMilky
方法中做的就是设置this.milkyOverlay = true
,然后使用milkyOverlay
属性来添加mucky css类或者在上面显示mucky div。