欧美经典日韩精品_日韩高清亚洲日韩精品一区_日韩精品无码综合视频网_国产v亚洲v天堂?无码久久_中文字幕免费无码专区

千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT問答庫  >  Web基礎知識

Vue3-巧用指令

發布:web前端培訓 2022-02-09 14:50

推薦答案

  Vue3-巧用指令不知道大家在工作中用上vue3了沒有,vue3好是好,但是有部分插件并沒有更新到3.0的,比如我比較喜歡的自定義滾動條overlayscrollbarsvue3直接使用overlayscrollbars-vue會報錯。

  今天我們主要介紹一下如何使用指令來應用這些插件,自定義滾動條overlayscrollbars以及拖拽sortablejs

v2-c7f6420386db61816337233c3a8001e5_1440w

  directive

  指令的話這里就不多說了,參考官方文檔(https://v3.cn.vuejs.org/api/options-assets.html),overlayscrollbars以及sortablejs都是提供了js方式調用的,我們可以在指令里面進行插件的初始化。

main.js

import { createApp } from 'vue'import directive from './directive'

const app = createApp(App)

directive(app)


directive

import { Sortable } from 'sortablejs'import 'overlayscrollbars/css/OverlayScrollbars.css'import OverlayScrollbars from 'overlayscrollbars'

export default function(app) {

  app.directive('focus', {

    mounted(el) {

      el.focus()

    }

  })

  app.directive('sortable', {

    mounted(el, binding) {

      const config = binding.value

      new Sortable(el, config || {})

    }

  })

  app.directive('OverlayScrollbars', {

    mounted(el, binding) {

      const config = binding.value

      const instance = OverlayScrollbars(el, config || {

        scrollbars: { autoHide: 'move' }

      })

      if (config && config.scrollReady) {

        config.scrollReady(instance)

      }

    }

  })}

vue

<template>

  <ul v-sortable="sortableOptions" class="listBox">

    <li class="li" v-for="item in list" :key="item">{{ item }}</li>

  </ul>

  <div

    class="mobiReview"

    v-OverlayScrollbars="{ ...scrollOptions, scrollReady }"

  ></div></template>

<script setup>import { reactive, toRefs } from 'vue'

const state = reactive({

  list: [1, 2, 3, 4, 5],

  scroll: {

    instance: null

  },

  scrollOptions: {

    className: 'os-theme-thin-dark',

    scrollbars: { autoHide: 'move' }

  }})

function scrollReady(instance) {

  state.scroll.instance = instance}

const sortableOptions = {

  animation: 150,

  sort: true,

  draggable: '.li',

  onUpdate: (event) => {

    event.stopPropagation()

    state.list.splice(event.newDraggableIndex, 0, state.list.splice(event.oldDraggableIndex, 1)[0])

  }}

const { list } = toRefs(state)</script>

<style lang="less" scoped>.listBox {

  display: flex;

  list-style: none;

  > li {

    width: 100px;

    height: 100px;

    margin: 10px;

    background-color: red;

    display: flex;

    justify-content: center;

    align-items: center;

    cursor: move;

  }}.mobiReview {

  height: 500px;

  width: 300px;

  .box {

    height: 1000px;

  }}</style>

我們可以通過指令來傳遞初始化參數,也可以獲取插件調用實例,比如scrollReady,當然如果你指令里面寫了默認參數,也可以不用參數的傳遞。

<div

    class="mobiReview"

    v-OverlayScrollbars

  ></div>

sortablejs

這里算是一個額外補充說明,有些同學在做表格拖拽時使用了sortablejs

<template>

  <el-table :data="tableData" style="width: 100%" row-key="id">

    <el-table-column type="index" width="50"></el-table-column>

    <el-table-column prop="date" label="日期" width="180"></el-table-column>

    <el-table-column prop="name" label="姓名" width="180"></el-table-column>

    <el-table-column prop="address" label="地址"></el-table-column>

  </el-table></template>

<script setup>import { reactive, toRefs, onMounted } from 'vue'import { Sortable } from 'sortablejs'

const state = reactive({

  tableData: [{

    id: 1,

    date: '2016-05-02',

    name: '王小虎',

    address: '上海市普陀區金沙江路 1518 弄'

  }, {

    id: 2,

    date: '2016-05-04',

    name: '王小虎',

    address: '上海市普陀區金沙江路 1517 弄'

  }, {

    id: 3,

    date: '2016-05-01',

    name: '王小虎',

    address: '上海市普陀區金沙江路 1519 弄'

  }, {

    id: 4,

    date: '2016-05-03',

    name: '王小虎',

    address: '上海市普陀區金沙江路 1516 弄'

  }]})

onMounted(() => {

  const tbody = document.querySelector('.el-table__body-wrapper tbody')

  Sortable.create(tbody, {

    onUpdate: (event) => {

      event.stopPropagation()

      state.tableData.splice(event.newDraggableIndex, 0, state.tableData.splice(event.oldDraggableIndex, 1)[0])

    }

  })})

const { tableData } = toRefs(state)</script>

假如不設置row-key會出現拖拽數據錯亂的情況,或者說在拖拽一個列表,而列表的keyindex,也會出現這個問題。

因為大多數人喜歡把index作為key的賦值,而我們拖拽時index會變動,移除和添加時數組的索引會變,這會讓diff出現問題,就好比每一個人都有一個身份證,把某個人前面的人移除掉,這個人不可能就繼承前面那個人的身份證了,key對于這條數據應該是唯一的,不可變的,就像人的身份證一樣,故不要把index作為key來綁定。

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

web前端自學好還是培訓好

關于“web前端自學好還是培訓好”這個問題說法眾說紛紜,有很多...

選擇Web培訓機構的注意事項有哪些

師資力量;老師是不是又豐富的實戰開發經驗,這點是非常重要的。...

Web前端主要做什么

前端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HT...

web前端培訓分享:學Web前端的好處有哪些

web前端近幾年在IT互聯網行業比較火熱,很多人都開始參加web前端...

web前端培訓分享:Web前端需要學什么

Web前端需要學什么?好不好學?這是很多想要進入到web前端行業的學...

零基礎參加web前端培訓都學什么

零基礎參加web前端培訓都學什么?基礎階段學習HTML常用標簽與表單...

測一測
你知道多少IT梗

精品久久久久久天美传媒| 野花社区WWW高清图片| 麻花豆传媒剧国产MV| 日韩系列 无码迅雷| 日韩欧美亚洲综合久久影院D3| 浪荡女天天不停挨CAO日常视| 蜜桃AV一区二区| 久久久无码一区二区三区| 亚洲 自拍 另类小说综合图区| 尤物永久免费AV无码网站| 被两个男人按住吃奶好爽| 好男人好社区好资源在线| 久久人妻无码中文字幕| 黑人精品XXX一区一二区| 人妻无码ΑV中文字幕久久琪琪布| 无码精品人妻一区二区三区人妻斩| 夜夜爽妓女8888视频免费观看| 国产精品任我爽爆在线播放| 精品国产AⅤ无码一区二区蜜桃| 久久99国产精品久久99果冻传| 82岁老人找20多岁小伙子| PLAY在线视频| 国产成人精品无码一区二区老年人| 久久久久99人妻一区二区三区| 精东视频影视传媒制作| 精品国模一区二区三区| 美女露 0裸体无挡视频| 女人夜夜春高潮爽A∨片| 日本少妇人妻XXXXX18| 亚洲精品嫩草研究院久久| 国产午夜手机精彩视频| 视频一区二区三区日韩| 亚洲精品无码aⅴ中文字幕蜜桃 | 黑人大性殖器大战欧美白妇| 舌L子伦熟妇ΑV| OM老熟妇DHXⅩXXX| 精品国产午夜福利在线观看| 日韩A∨精品日韩在线观看| 亚洲精品无码你懂的网站| 厨房里的激战2李明人物介绍| 久久久久久久精品成人热蜜桃| 国产精品国产亚洲精品看不卡| 人人妻人人澡人人爽人人精品电影 | 45歳の▽バツ1熟女とハメ撮り| H国产小视频福利免费视频| 国产精品亚洲精品日韩已满| 欧美熟妇内射深插| √天堂网WWW最新版| 2021自拍偷在线精品自拍偷| 公交车被CAO得合不拢腿视频| 少妇高潮XXXⅩ白浆699| 成码无人AV片在线电影网站| 国产熟女一区视频在线播放 | 日本强好片久久久久久AAA| 舌头伸进去添的我好爽高潮欧美 | 蜜臀AV无码一区二区三区| 曰本BBWW高潮BBWR| 无码熟妇ΑⅤ人妻又粗又大 | 国产午夜毛片V一区二区三区| 亚洲国产AⅤ精品一区二区30P| 国产无遮挡又黄又爽高潮| 无码精品人妻一区二区三区漫画 | 小妖精抬起臀嗯啊H军人| 亚洲精品成人无码| 车内挺进尤物少妇紧窄| 拗女稀缺资源一区二区| 国产亚洲美女精品久久久| 无码精品日韩专区| 国精产品一区一区三区M| 亚洲成人在线观看av| 久久96热在精品国产高清| 久久久久久久99精品免费观看| 亚洲精品无码不卡AV| 烂货我捏烂你的奶| 亚洲中文字幕久久无码精品| 欧美整片欧洲熟妇色视频| 高清国产天干天干天干| 一炕四女被窝交换| 日韩一卡2卡3卡4卡| 国精产品一区二区三区四区糖心| 无码一区二区三区AV免费 | 门徒电影高清完整版在线观看| AV影音先锋天堂网| 全国主要城市天气预报| 国产AV无码专区亚洲AV琪琪| 亚洲AV无码成人专区| 国内精品综合久久久40P| 从大树开始的进化漫画| 99精品视频九九精品视频| 亚洲人成网站18禁止无码| 无线乱码A区B区C区D| 日本19禁啪啪无遮挡免费| 国产精品无码一区二区三区 | 好硬啊一进一得太深了A片69| 婷婷五月深爱憿情网六月综合| 韩国无码AV片在线观看网站| 一边下奶一边吃面膜视频讲解图片 | 好儿子妈妈今天就是你的女人 | 亚洲精品夜夜夜妓女网 | 爆乳2把你榨干哦OVA在线观看 | 亚洲成人Av在线| 国产亚洲一区二区手机在线观看| 亚洲无人区码卡二卡三卡四卡 | 狼人无码精华AV午夜精品| 亚洲午夜理论无码电影| 久久久久国产亚洲AⅤ麻豆 | 亚洲AV中文无码字幕色| 好爽又高潮了毛片| 亚洲乱码一卡二卡四卡乱码新区 | 久久久亚洲一区少妇无码| 永久免费AV无码网站韩国毛片| 理论片午午伦夜理片影院| 2021亚洲无码| 人人妻人人澡AV天堂香蕉| 丁香婷婷激情俺也去俺来也| 天堂影院在线观看高清在线| 国产很色很黄很大爽的视频| 小浪货腿张开水好多呀H| 精品VIDEOSSEXFREEOHDBBW| 亚洲中文字幕久久精品蜜桃 | 小妖精含牢了我喂饱你| 精品高潮呻吟AV久久无码| 野花香在线观看免费观看大全动漫 | 国产精品美女一区二区视频| 亚洲AV无码码潮喷在线观看| 久久精品人人做人人爽| √天堂8资源中文在线| 人妻无码ΑV中文字幕久久| 国产边做饭边被躁在线播放91| 小雪被老汉玩遍各种方式| 久久AV无码AV高潮AV| 18级成人毛片免费观看 | 高潮潮喷奶水飞溅视频无码| 午夜天堂精品久久久久| 精品一线二线三线精华液| 中文字幕在线观看| 日韩AV无码午夜免费福利制服| 国产精品久久久久久影视| 亚洲女同精品一区二区| 妺妺窝人体色WWW在线图片| 啊灬啊灬啊灬高潮了视频| 无码 一区二区三区 水蜜桃| 精品国产国偷自产在线观看| 在线观看免费视频| 人与动物PPT免费模板| 国产精品视频色尤物YW| 亚洲一码二码三码区别在哪 | 母亲とが话しています播放| 吃奶呻吟打开双腿做受是免费视频| 无码中文亚洲AV吉吉影音先锋 | AV中文字幕潮喷人妻系列| 特级做A爰片毛片免费看108| 精品国产V无码大片在线看| 48熟女嗷嗷叫国产毛片小说| 色综合天天综合网天天小说 | 日韩成人无码中文字幕| 果冻传媒一二三工厂免费观看| 中日双语字幕高清在线观看| 日韩一区二区三区射精| 狠狠躁夜夜躁青青草原| 147VT最大但人文艺术| 他用嘴巴含着我奶头吸怎么办| 精品一线二线三线无人区| АⅤ天堂中文在线网| 亚洲AV成人WWW永久无码精品| 美女高潮20分钟视频在线观看| 富婆偷人对白又粗又大视频| 亚洲日韩欧美一区二区三区 | 国产无遮挡吃胸膜奶免费看| 中文字幕人妻高清乱码| 双腿张开被9个男人调教| 久久精品国产精品亚洲下载 | 国产AV无码专区亚洲AV毛片搜| 亚洲中国最大AV网站| 日本一卡二卡四卡无卡国产| 黑人巨大精品欧美一区二区免费| AV无码精品一区二区三区| 亚洲AV成人无码久久精品澳门| 女技师强制高潮18XXXX按摩| 国产啪精品视频网站免费| 最新AV片免费网站入口| 无人区一码二码三码四码| 孽火(硬汉)今又| 国精产品999永久中国有限公司| ASS白嫩白嫩的少妇PICS| 亚洲AV成人一区二区三区在线播| 欧美金妇欧美乱妇XXXX| 国精产品一区二区三区四区糖心| CHINESE高潮收缩ORGASM| 亚洲VA欧美VA国产VA综合| 人妻少妇不满足中文字幕| 精品久久一区二区乱码| 丁香花在线视频完整版| 又硬又粗又长又爽免费看| 铜铜铜铜铜铜铜铜好痛好深色板| 麻豆亚洲国产成人精品无码区 | BBBBB毛茸茸BBBBBBB| 亚洲精品无码永久在线观看男男| 日日躁狠狠躁死你H| 蜜臀AV 国内精品久久久|