mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-04-23 09:51:53 +08:00
90 lines
1.6 KiB
Vue
90 lines
1.6 KiB
Vue
<template>
|
|
<div class="board-column">
|
|
<div class="board-column-header">
|
|
{{ headerText }}
|
|
</div>
|
|
<draggable
|
|
:list="list"
|
|
:options="options"
|
|
class="board-column-content">
|
|
<div v-for="element in list" :key="element.id" class="board-item">
|
|
{{ element.name }} {{ element.id }}
|
|
</div>
|
|
</draggable>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import draggable from 'vuedraggable'
|
|
|
|
export default {
|
|
name: 'DragKanbanDemo',
|
|
components: {
|
|
draggable
|
|
},
|
|
props: {
|
|
headerText: {
|
|
type: String,
|
|
default: 'Header'
|
|
},
|
|
options: {
|
|
type: Object,
|
|
default() {
|
|
return {}
|
|
}
|
|
},
|
|
list: {
|
|
type: Array,
|
|
default() {
|
|
return []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss">
|
|
.board-column {
|
|
min-width: 300px;
|
|
min-height: 100px;
|
|
height: auto;
|
|
overflow: hidden;
|
|
background: #f0f0f0;
|
|
border-radius: 3px;
|
|
|
|
.board-column-header {
|
|
height: 50px;
|
|
line-height: 50px;
|
|
overflow: hidden;
|
|
padding: 0 20px;
|
|
text-align: center;
|
|
background: #333;
|
|
color: #fff;
|
|
border-radius: 3px 3px 0 0;
|
|
}
|
|
|
|
.board-column-content {
|
|
height: auto;
|
|
overflow: hidden;
|
|
border: 10px solid transparent;
|
|
min-height: 60px;
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
.board-item {
|
|
cursor: pointer;
|
|
width: 100%;
|
|
height: 64px;
|
|
margin: 5px 0;
|
|
background-color: #fff;
|
|
text-align: left;
|
|
line-height: 54px;
|
|
padding: 5px 10px;
|
|
box-sizing: border-box;
|
|
box-shadow: 0px 1px 3px 0 rgba(0,0,0,0.2);
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|