_drawer无法拖拽文件">
赞
踩
<template> <el-drawer title="属性排序(上下拖拽表格行即可)" :visible.sync="dialogVisible" @close="closeDialog" :append-to-body="true" class="scroll" :wrapperClosable="false" size="60%"> <el-table :data="form.properties" row-key="propertiesKey" border stripe v-loading="loading" class="sort-table" style="width: 100%" > <el-table-column label="序号" type="index" align="center" width="50"> </el-table-column> <el-table-column label="key" align="center" prop="propertiesKey" > </el-table-column> <el-table-column label="名称:" align="center" show-overflow-tooltip prop="title" > </el-table-column> </el-table> <div class="drawer-footer text-center" style="margin-top: 30px;"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="submit()" :loading="loading">确 定</el-button> </div> </el-drawer> </template> <script> import api from '@/api/version/object_model.js' import Sortable from 'sortablejs' export default { data() { return { dialogVisible: false, loading: false, form: { properties: [], // 属性 }, } }, mounted() { this.getDetails() this.dialogVisible = this.show this.commonModelId = this.info }, methods: { // 行拖拽 rowDrop() { const tbody = document.querySelector('.sort-table tbody') const _this = this Sortable.create(tbody, { // 官网上的配置项,加到这里面来,可以实现各种效果和功能 animation: 150, ghostClass: 'blue-background-class', onEnd({ newIndex, oldIndex }) { const currRow = _this.form.properties.splice(oldIndex, 1)[0] _this.form.properties.splice(newIndex, 0, currRow) _this.form.properties.forEach((item, index) => { item.propSort = index }) console.log(_this.form.properties) } }) }, // 详情 getDetails() { api.getInfoCommonById({ id: this.commonModelId }, (data) => { this.$utils.assignKey(this.form, data.data) this.rowDrop() }, (error) => { console.log(error) }) }, // 提交 submit() { }, }, } </script> <style lang="scss"> .json-format-content li:nth-child(even) { background-color: rgb(248, 248, 248); } .sort-table { .el-drawer__body .el-table thead th { font-size: 33px; padding: 12px 0; } .el-table td, .el-table th { padding: 20px 0; font-size: 33px; } } </style>
注意: 我的table加了样式 class=“sort-table”,所以const tbody = document.querySelector(’.sort-table tbody’),如果你没有新加样式,可以使用:const tbody = document.querySelector(’.el-table__body-wrapper tbody’)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。