国产91精品露脸国语对白-国产91精品系列在线观看-国产91精品一区-国产91精品一区二区-精品视频免费看-精品视频免费观看

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁(yè)  >  IT問答庫(kù)  >  Web基礎(chǔ)知識(shí)

Vue3-巧用指令

發(fā)布:web前端培訓(xùn) 2022-02-09 14:50

推薦答案

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

  今天我們主要介紹一下如何使用指令來(lái)應(yīng)用這些插件,自定義滾動(dòng)條overlayscrollbars以及拖拽sortablejs。

v2-c7f6420386db61816337233c3a8001e5_1440w

  directive

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

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>

我們可以通過指令來(lái)傳遞初始化參數(shù),也可以獲取插件調(diào)用實(shí)例,比如scrollReady,當(dāng)然如果你指令里面寫了默認(rèn)參數(shù),也可以不用參數(shù)的傳遞。

<div

    class="mobiReview"

    v-OverlayScrollbars

  ></div>

sortablejs

這里算是一個(gè)額外補(bǔ)充說(shuō)明,有些同學(xué)在做表格拖拽時(shí)使用了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: '上海市普陀區(qū)金沙江路 1518 弄'

  }, {

    id: 2,

    date: '2016-05-04',

    name: '王小虎',

    address: '上海市普陀區(qū)金沙江路 1517 弄'

  }, {

    id: 3,

    date: '2016-05-01',

    name: '王小虎',

    address: '上海市普陀區(qū)金沙江路 1519 弄'

  }, {

    id: 4,

    date: '2016-05-03',

    name: '王小虎',

    address: '上海市普陀區(qū)金沙江路 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>

假如不設(shè)置row-key會(huì)出現(xiàn)拖拽數(shù)據(jù)錯(cuò)亂的情況,或者說(shuō)在拖拽一個(gè)列表,而列表的keyindex,也會(huì)出現(xiàn)這個(gè)問題。

因?yàn)榇蠖鄶?shù)人喜歡把index作為key的賦值,而我們拖拽時(shí)index會(huì)變動(dòng),移除和添加時(shí)數(shù)組的索引會(huì)變,這會(huì)讓diff出現(xiàn)問題,就好比每一個(gè)人都有一個(gè)身份證,把某個(gè)人前面的人移除掉,這個(gè)人不可能就繼承前面那個(gè)人的身份證了,key對(duì)于這條數(shù)據(jù)應(yīng)該是唯一的,不可變的,就像人的身份證一樣,故不要把index作為key來(lái)綁定。

最新問答資訊

01 unity用什么編程語(yǔ)言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語(yǔ)言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語(yǔ)言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語(yǔ)言 可以
5062 人關(guān)注

04 c語(yǔ)言難學(xué)嗎?c語(yǔ)言學(xué)好要多久?

語(yǔ)言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計(jì)要多久?報(bào)速成班靠譜嗎?

平面 設(shè)計(jì) 學(xué)習(xí) 時(shí)間
4238 人關(guān)注

相關(guān)問題

web前端自學(xué)好還是培訓(xùn)好

關(guān)于“web前端自學(xué)好還是培訓(xùn)好”這個(gè)問題說(shuō)法眾說(shuō)紛紜,有很多...

選擇Web培訓(xùn)機(jī)構(gòu)的注意事項(xiàng)有哪些

師資力量;老師是不是又豐富的實(shí)戰(zhàn)開發(fā)經(jīng)驗(yàn),這點(diǎn)是非常重要的。...

Web前端主要做什么

前端開發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過程,通過HT...

web前端培訓(xùn)分享:學(xué)Web前端的好處有哪些

web前端近幾年在IT互聯(lián)網(wǎng)行業(yè)比較火熱,很多人都開始參加web前端...

web前端培訓(xùn)分享:Web前端需要學(xué)什么

Web前端需要學(xué)什么?好不好學(xué)?這是很多想要進(jìn)入到web前端行業(yè)的學(xué)...

零基礎(chǔ)參加web前端培訓(xùn)都學(xué)什么

零基礎(chǔ)參加web前端培訓(xùn)都學(xué)什么?基礎(chǔ)階段學(xué)習(xí)HTML常用標(biāo)簽與表單...

測(cè)一測(cè)
你知道多少IT梗

亚洲AV五十路在线观看| 国产肉体XXXX裸体137大胆| 日本久久久WWW成人免费毛片丨| 成人国产精品一区二区网站免费| 熟女高潮精品一区二区绯乐| 国产人成亚洲综合无码AⅤ蜜桃| 亚洲精品无码永久中文字幕 | 羞羞影院午夜男女爽爽免费视频| 精品少妇人妻Av免费久久农村| 成年免费A级毛片| 精品亚洲国产成人AV在线时间短| 尤物永久免费AV无码网站| 欧美人妻精品一区二区三区 | 丰满少妇被猛烈进AV毛片| 无套内射GIF舔B吃奶| 久久国产午夜精品理论片| 99无码熟妇丰满人妻啪啪 | 亚洲熟妇av一区二区三区浪潮| 妺妺晚上扒我内裤吃我精子H| 成人国产一区二区精品小说 | 中文字幕久久熟女蜜桃| 日本熟妇人妻XXXXX-欢迎您| 国产伦久视频免费观看视频| 一本大道香蕉大无线吗| 人妻丰满AV无码中文字幕| 国产精品丝袜高跟鞋| 野花香社区在线视频观看播放| 人妻av无码一区二区| 国产乱子伦高清露脸对白 | 熟女高潮喷水一区二区三区| 黄 色 视 频 在 线 免费观| 51精产国品一二三产区区别| 天天躁狠狠躁狠狠躁夜夜躁| 久久不卡国产精品无码| 把腿张开老子臊烂你多P| 亚洲AV第一成肉网肉片AV| 免费A级毛片在线播放不收费| 东北露脸46熟妇ⅩⅩXX| 亚洲乱码日产精品BD在线| 欧美一区二区三区啪啪| 国产麻豆精品一区| 制服丝袜AV无码专区完整版| 色综合久久精品亚洲国产消防| 久久AV无码精品人妻出轨| 啊灬啊别停灬用力啊| 亚洲AV无码二区鸳鸯影院| 浓毛BGMBGMBGM胖老太太| 国产精品久久久久9999小说| 伊人久久大香线蕉AV最新午夜| 日韩精品无码专区免费播放| 激情内射日本一区二区三区| GOGO人体大胆瓣开下部L| 亚洲AV成人无码网站在线| 女教师的凌脣教室在线| 国产乱人伦无无码视频试看| 最新无码人妻在线不卡| 无遮挡国产高潮视频免费观看| 麻豆蜜桃AV蜜臀AV色欲AV| 国产成人AV一区二区三区| 永久免费看照片的聊骚软件| 少妇无码太爽了在线播放| 久久久久久精品免费无码| 隔壁邻居是巨爆乳寡妇| 英语老师乖乖挽起裙子的意思| 太紧了夹得我的巴好爽欧美| 老湿机影院免费观看| 国产成人亚洲综合精品| 中文字幕无码中文字幕有码A | 野花影视免费高清观看| 丝袜美女人体艺术| 麻豆人人妻人人妻人人片AV| 国产精品未满十八禁止观看 | 国产精华液一区二区区别大吗| 在线无码VA中文字幕无码| 无码G0G0大胆啪啪艺术| 男人用嘴添女人私密视频| 国产又黄又爽胸又大免费视频| JAPANESE国产在线观看播| 亚洲第一无码AV播放器下载| 日本午夜免费福利视频| 久久久久亚洲AV成人片| 国产成人精品无码一区二区三区| 诱人的老师HD中字| 无遮无挡爽爽免费毛片| 欧美熟妇黑人ⅩXXXXX| 精品高潮呻吟99AV无码视频| 刺激交换经历过程小说| 在线观看韩国电影| 午夜天堂精品久久久久| 人妻丰满熟妇av无码区网站| 久久发布国产伦子伦精品| 国产69成人精品视频免费| 18禁美女黄网站色大片在线| 亚洲AV无码国产精品色午夜字幕 | 欧美成人国产精品视频蜜芽| 韩国激情高潮无遮挡HD| 地师传人电影在线观看| 中国WINDOWS野外| 亚洲AV美女一区二区三区| 日韩AV无码成人精品国产| 乱中年女人伦视频国产| 国内精品国产三级国产AV| 成人丝袜激情一区二区| 曰批全过程免费视频观看软件| 西方14147大但人文艺术| 人妻无码视频一区二区三区| 久久天天躁狠狠躁夜夜2019| 国产日产精品久久久久快鸭| 苍井空浴缸大战猛男120分钟| 又色又爽又黄的视频软件APP| 亚洲AV日韩综合一区久热| 肉身避风港1978大米星球| 女人另类牲交ZOZOZO| 久久99精品久久久久久齐齐| 国产精品久久久久久无毒不卡| MM131美女视频毛片| 一本一本久久AA综合精品| 亚洲AV无码兔费综| 天天摸天天碰成人免费视频 | 海角精产国品一二三区别| 东北老女人高潮大喊舒服死了| 51精产国品一二三产区区别| 亚洲日韩亚洲另类激情文学一| 午夜精品久久久久久| 色欲av成人蜜臀av不卡| 欧洲一卡2卡3卡4卡乱码视频| 老外和中国女人毛片免费视频| 黑人上司与人妻激烈中文字幕| 国产福利一区二区三区在线观看| ZOZ○ZO女人和另类ZOZ0| 中文人妻熟妇乱又伦精品| 亚洲人成网站观看在线播放 | 中文字幕精品亚洲无线码一区| 亚洲高清毛片一区二区| 无码人妻精品一区二区蜜桃不卡 | A级毛片高清免费播放| 永久免费精品精品永久-夜色| 亚洲精品卡2卡三卡4卡2卡乱码| 无码少妇一区二区性色AV| 色欲av成人蜜臀av不卡| 日本AⅤ精品一区二区三区| 女人下边被添全过视频| 久久亚洲精品中文字幕| 精品人妻伦一二三区久久| 国产日产欧产美韩系列麻豆| 公与2个熄乱理在线播放| 成人白浆超碰人人人人| JIZZ中国JIZZ在线观看| 2019午夜福利不卡片在线| 在线高清理伦片A| 夜夜躁婷婷AV蜜桃妖精视频| 亚洲国产精品热久久| 亚洲AV无码潮喷在线观看| 午夜精品久久久久久久无码| 他用嘴巴含着我奶头吸怎么办| 日日天干夜夜狠狠爱| 日本畜禽CORPORATION| 欧美最婬乱婬爆婬牲视| 欧美激情一区二区三区成人| 男女嘿咻激烈爱爱动态图| 蜜桃国产乱码精品一区二区三区w 蜜桃国产乱码精品一区二区三区 蜜桃国产精品乱码一区二区三区 蜜桃传媒在线观看免费版7 | 欧美黑人又大又粗XXXXX吞精| 久久久久亚洲AV成人人电影软件| 娇小美女被黑壮汉C到喷水| 国产亚洲人成A在线V网站| 国产乱人伦偷精品视频不卡| 国产韩国精品一区二区三区久久| 高清性色生活片97 | 精产国品一二三产品区别视频手机| 国产乱人伦偷精精品视频 | 香蕉久久一区二区不卡无毒影院| 为什么穿裙子方便打野| 天天躁日日躁狠狠躁日日躁| 少妇性饥渴XXⅩXXHD| 色欲AⅤ亚洲情无码AV| 日韩无人区一卡2卡三卡4卡仙| 日本XXXX色视频在线观看免费| 人妻中出无码一区二区三区| 人妻AV一区二区三区AV免费| 青青草无码精品伊人久久| 人妻丰满熟妇av无码久久洗澡| 青草伊人久久综在合线亚洲| 强开少妇嫩苞又嫩又紧小说| 人妻丰满熟妇AV无码区乱| 人妻无码一区二区三区精品视频 | 好吊妞人成视频在线观看27DU| 国产在线精品成人一区二区三区| 国产无遮挡又黄又爽奶头| 国产在线精品一区二区中文 | 夜夜爽夜夜叫夜夜高潮| 野花香高清在线观看视频播放免费| 亚洲中文字幕无码中字| 尹人香蕉久久99天天拍| 中文字幕乱人伦高清视频| 97人妻无码一区二区精品免费| 99国产亚洲精品美女久久久久| AⅤ精品一区二区三区| JK制服白丝自慰无码自慰网站| 被添出水全过程免费视频| 从今天开始当城主|