使用VueDraggablePlus实现列表内拖拽排序。,腾讯后台开发

56 阅读2分钟

最后

小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

开源分享:docs.qq.com/doc/DSmRnRG…

2.引入

import { VueDraggable } from 'vue-draggable-plus'

3.在项目中使用

 <VueDraggable v-model="state.tableData" target=".sort-target" @end="handleUpdata" animation="150">    <div class="table">        <table id="table1">            <thead>                <tr>                    <th>排列顺序</th>                    <th>推荐模块</th>                    <th>课程名称</th>                    <th>课程平台</th>                    <th>课程标签</th>                    <th style="width: 190px;">操作</th>                </tr>            </thead>            <tbody class="sort-target">                <tr v-for="item in state.tableData" :key="item.name" class="cursor-move">                    <td>{{ item.sort }}</td>                    <td>{{ item.course_group_name }}</td>                    <td>{{ item.course_name }}</td>                    <td>{{ item.platform }}</td>                    <td>                        <el-select v-model="item.tag" @change="tagChange($event, item.id)"                            placeholder="请选择">                            <el-option v-for="item in state.tagOptions" :key="item.id" :label="item.name"                                :value="item.id" />                        </el-select>                    </td>                    <td><el-link type="danger" @click="handleDelete(item.id)">删除</el-link></td>                </tr>            </tbody>        </table>    </div></VueDraggable>

4.此处为vue3使用方法

<script setup lang='ts'>import { VueDraggable } from 'vue-draggable-plus'import { SortableEvent } from "sortablejs"// 此处为调用接口实现拖拽排序const handleUpdata = (event: SortableEvent) => {    let ids = [] as any    state.tableData.forEach((item: any) => {        ids.push(item.id)    });    let data = {        course_group_id: state.queryParams.course_group_id,        platform: state.queryParams.platform,        ids: ids    }    moveRecommend(data).then((res: any) => {        if (res.code == 1) {            ElMessage({                showClose: true,                message: '保存成功',                type: 'success',            })            getList()        }    });}</script>

5.此处为表格css样式

<style scoped>table {    width: 100%;    border-collapse: collapse;    text-align: center;    font-size: 14px;}table th,td {    border: 1px solid #ebeef5;    padding: 8px 0;​}.table :deep(.el-table thead) {    color: #666;    font-weight: 400;    font-size: 13px;}table thead th {    background-color: #f3f3f3;    padding: 8px 0;    color: #222;    font-size: 13px;}</style>

时间

计算机网络

  • HTTP 缓存

  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?

  • HTTP 常用的请求方式,区别和用途?

  • HTTPS 是什么?具体流程

  • 三次握手和四次挥手

  • 你对 TCP 滑动窗口有了解嘛?

  • WebSocket与Ajax的区别

  • 了解 WebSocket 嘛?

  • HTTP 如何实现长连接?在什么时候会超时?

  • TCP 如何保证有效传输及拥塞控制原理。

  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

算法

  • 链表

  • 字符串

  • 数组问题

  • 二叉树

  • 排序算法

  • 二分查找

  • 动态规划

  • BFS

  • DFS

  • 回溯算法