上下左右からDrawerコンポーネント「vue-simple-drawer」
by kabanoki
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-simple-drawer.umd.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/bootstrap/dist/css/bootstrap.min.css">
<div id="app">
<div class="demo-container">
<div><input type="radio" id="left" value="left" v-model="align"><label for="left">left</label></div>
<div><input type="radio" id="right" value="right" v-model="align"><label for="right">right</label></div>
<div><input type="radio" id="up" value="up" v-model="align"><label for="up">up</label></div>
<div><input type="radio" id="down" value="down" v-model="align"><label for="down">down</label></div>
</div>
<button @click="toggle" class="btn btn-info">toggle</button>
<drawer @close="toggle" :align="align" :closeable="true" :mask-closable="true">
<div v-if="open">content here</div>
</drawer>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
CSS
body {
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
const Drawer = window['vue-simple-drawer'].default;
new Vue({
el: '#app',
components: {
"drawer":Drawer
},
data: {
open: false,
align: 'left'
},
methods: {
toggle:function() {
this.open = !this.open
}
}
});