亚洲国产日韩成人综合天堂_一区二区三区视频网站_国内小视频在线看_国产精品热视频_国产丝袜自拍_国产视频久久久久_麻豆精品免费视频入口_久久综合国产精品

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

當前位置:首頁  >  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梗

欧美变态视频| heyzo视频在线播放| 亚洲妇熟xx妇色黄蜜桃| 国产日产欧美a一级在线| 欧美日韩国产中文| 99re66热这里只有精品3直播| 成人同人动漫免费观看| 中文字幕在线高清| 在线小视频网址| 国产一区亚洲二区| 91成人一区二区三区| 1024手机在线观看你懂的| 99精品视频在线看| 亚洲一区三区视频在线观看| 国产精品久久久久久亚洲影视 | 久久午夜电影网| 亚洲视频成人| 日韩精品永久网址| 日本精品在线播放| 中国字幕a在线看韩国电影| 欧洲免费在线视频| 羞羞在线观看网站| 66av国产| 香蕉久久成人网| 亚洲国产成人在线观看| 中文字幕一区二区人妻电影| 婷婷伊人五月天| 99久久人妻无码中文字幕系列| 黄色a级片免费| 日韩一级特黄毛片| 视频一区二区在线| 精品日韩电影| 18成人在线| 国产精品日韩精品| 欧美壮男野外gaytube| 欧美精品在线观看| 色诱女教师一区二区三区| 亚洲第一免费播放区| 日韩一区二区在线观看| 欧美精品在线观看播放| 色综合久久久久网| 午夜视频在线观看一区| 亚洲天堂网中文字| 亚洲国产精品黑人久久久| 99v久久综合狠狠综合久久| 国产真实乱偷精品视频免| 秋霞电影一区二区| 久久中文精品| 日日摸夜夜添夜夜添亚洲女人| 国产一区免费视频| 国产理论片在线观看| 国产又黄又粗又猛又爽的| 国产在线不卡av| 亚洲黄色免费在线观看| 国产精品久久久久9999赢消| 婷婷久久免费视频| 欧美特大特白屁股xxxx| 亚洲精品白浆| av手机免费在线观看| 手机在线免费观看av| 先锋影音在线资源站91| 青青草原av在线| 国产黄大片在线观看| 男人最爱成人网| aaaa欧美| y111111国产精品久久久| 精品综合久久88少妇激情| 青青操综合网| 欧美日韩亚洲在线观看| 97人人精品| 黄色一区二区三区四区| 久久久久国产精品一区二区| 麻豆精品国产91久久久久久| 精品一区二区三区欧美| 成人av动漫在线| 欧美韩国日本综合| 一区二区三区成人在线视频| 亚洲一区二区欧美激情| 日韩欧美中文字幕在线播放| 911精品产国品一二三产区| 69堂成人精品免费视频| 亚洲精品一区在线观看| 在线播放日韩专区| 高清一区二区三区四区五区| 国产精品久久久久99| 国产精品国产亚洲精品看不卡15 | 全部免费毛片在线播放一个| 手机在线理论电影| 两个人免费视频观看日本| 黄色网战入口| 成人在线免费看| 久久uomeier| 日韩动漫一区| 夜夜精品视频| 国产**成人网毛片九色 | 精品自拍一区| 色综合视频一区二区三区日韩| 日韩在线麻豆| 日韩电影在线观看一区| 久久伊99综合婷婷久久伊| 色综合网色综合| 亚洲精品不卡在线| 69国产精品成人在线播放| 加勒比在线一区二区三区观看| 日韩精品在线中文字幕| 中文 日韩 欧美| 国产97免费视频| 国产黄色片免费观看| 在线播放黄网| av资源种子在线观看| 日韩成人综合网| 午夜日韩视频| 久久综合九色综合久久久精品综合 | 亚洲欧美日韩在线播放| 日韩一区二区三区在线视频| 欧美日韩aaaa| 亚洲精品国产精品乱码不卡| 日韩精品视频免费专区在线播放 | 日本人成精品视频在线| 国产精品视频免费观看| 久久免费视频3| 黄色国产在线观看| 伊人色综合久久久| 成年网站免费观看| a毛片在线播放| 精品久久久久久久| 国产福利91精品| 欧美色中文字幕| 国自在线精品视频| 日韩中文在线字幕| 亚洲av成人无码久久精品| 亚洲av无码一区二区三区dv| 亚洲an天堂an在线观看| 精精国产xxxx视频在线播放| 一区二区中文| 中文字幕日本不卡| 国产亚洲精品va在线观看| 91精品久久香蕉国产线看观看| 国语对白做受xxxxx在线中国| 亚洲熟女毛茸茸| 国内一区二区三区精品视频| 超碰在线免费播放| 99精品在线观看| 国产精品美女久久久久久久久| 亚洲综合av网| 亚洲精品国产精| 在线观看视频一区| 未来日记在线观看| xx欧美视频| 99热精品在线观看| 好吊成人免视频| 国产精品99久久久久久久久| 人妻无码久久一区二区三区免费 | 男女一区二区三区| 黄色av小说在线观看| 亚洲第一成年人网站| 免费91麻豆精品国产自产在线观看| av今日在线| 亚洲欧洲二区| 久久99精品久久久久久 | 电影一区二区| 日韩免费一级| 91精品在线观看入口| 国产麻豆精品入口在线观看| 日韩一卡二卡三卡| 尤物网在线观看| 亚洲 欧美 综合 另类 中字| 欧美网站在线| 在线观看免费黄色网址| 久久婷婷综合激情| 九色自拍视频| 国产精品永久免费视频| 亚洲福利国产| 日本中文字幕电影| 免费三片在线播放| 国产成人av网址| 亚洲天堂成人| 久久性生活视频| 亚洲97在线观看| 午夜精品视频一区二区三区在线看| 亚洲电影先锋| 国产女主播自拍| 日韩视频欧美视频| 白白色 亚洲乱淫| 成人自拍在线| 77777在线| 一二三区中文字幕| 亚洲一二三在线观看| 国产精品视频久| 先锋影音久久| 天堂网www在线观看| 青青草原在线免费观看视频| 欧美成人免费在线| 久久先锋影音av鲁色资源网| 国产va在线| 亚洲一区日韩精品| 亚洲女人初尝黑人巨大| 999久久久精品国产| 黄色小视网站| 日韩片在线观看|