element: https://element.eleme.cn/#/zh-CN
没什么好说的
echarts: https://echarts.apache.org/zh/index.html
也没社么好说的,做过图表的都用过啊吧
vxe-table: https://vxetable.cn/#/table/start/install
组件的确要比element功能强大,然而官网文档写的不如element友善,常常有指令或属性找不到,示例也不是很残缺。
draggable: https://github.com/SortableJS/Vue.Draggable
能够用鼠标间接拖动的穿梭框,能够实现的成果比 element 不要难看太多
中文文档能够参照:https://www.itxst.com/vue-draggable/tutorial.html
代码片段示例:
<!--左侧穿梭框--> <el-col :span="12"> <div class="groupbox"> <div class="title"> <el-col :span="12">姓名</el-col> <el-col :span="12">职务</el-col> </div> <div class="listBody"> <draggable v-model="leftarr" group="itxst" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"> <transition-group class="groutminheight"> <div class="item" v-for="item in leftarr" :key="item.name"> <el-row> <el-col :span="12">{{ item.name }}</el-col> <el-col :span="12">{{ item.post }}</el-col> </el-row> </div> </transition-group> </draggable> </div> </div> </el-col> <!--右侧穿梭框--> <el-col :span="12"> <div class="groupbox"> <div class="title"> <el-col :span="12">姓名</el-col> <el-col :span="12">职务</el-col> </div> <div class="listBody"> <draggable v-model="reartarr" group="itxst" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"> <transition-group class="groutminheight"> <div class="item" v-for="item in reartarr" :key="item.name"> <el-row> <el-col :span="12">{{ item.name }}</el-col> <el-col :span="12">{{ item.post }}</el-col> </el-row> </div> </transition-group> </draggable> </div> </div> </el-col><style>//定义穿梭框款式.ghostClass { background-color: blue !important;}//鼠标选中后的色彩.chosenClass { background-color: #2DF67D !important; opacity: 1 !important;}//拖动时的款式.dragClass { background-color: greenyellow !important; opacity: 1 !important; box-shadow: none !important; outline: none !important; background-image: none !important;}//包含题目合列表的容器盒子.groupbox{ margin:20px; padding: 10px; background:linear-gradient(to top,rgba(65,216,147,0.3) 0%,rgba(65,216,147,0.7) 50%, rgba(65,216,147,0.3) 100%); display:flex; flex-direction: column;}//题目.title{ font-size: 18px; height: 35px; margin-left: 20px; margin-right:20px; margin-bottom: 8px; top:0px; flex: 0 0 35px;}//列表容器盒子.listBody{ flex:1 1 200px; overflow: auto;}//列表.groutminheight{ overflow: auto; display: block; min-height:100px;}//暗藏滚动条::-webkit-scrollbar { display: none; /* Chrome Safari */}.item { padding: 6px 12px; margin: 0px 10px 0px 10px; background-color: #f1f1f1; border-radius: 15px;}.item:hover { background-color: #fdfdfd; cursor: move;}.item + .item { border-top: none; margin-top: 6px;}</style>
效果图:
先写到这里,老板提新需要了,回头再持续码。