整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          超高效 Vue 模態彈出框組件Vue-Modal

          天給大家推薦一款超美觀的pc端vue.js彈窗組件VueJsModal。

          vue-js-modal 基于Vue構建的Modal對話框組件。單獨組件,方便使用。支持拖拽、縮放、異步調用組件。

          安裝

          $ npm i vue-js-modal -S

          引入組件

          // 在main.js中引入
          import Vue from 'vue'
          import VModal from 'vue-js-modal'
          import 'vue-js-modal/dist/styles.css'
          Vue.use(VModal)

          調用方式

          <template>
            <modal name="example"
              :width="300"
              :height="300"
              :resizable="true"
              :draggable="true"
              :adaptive="true"
              @before-open="beforeOpen"
              @opened="Opened"
              @before-close="beforeClose"
              @closed="Closed"
            >
              Hello, VueModal!
            </modal>
          </template>
          <script>
          export default {
            data() {
              return {}
            },
            mounted() {
              this.$modal.show('example')
            },
            methods: {
              beforeOpen(event) {
                console.log('Opening...')
              },
              Opened(event) {
                console.log('Opened...')
              },
              beforeClose(event) {
                console.log('Closing...')
              },
              Closed(event) {
                console.log('Closed...')
              }
            }
          }
          </script>

          調用內部 show、hide 方法顯示和隱藏彈窗

          <template>
            <modal name="my-first-modal">
              This is my first modal
            </modal>
          </template>
          
          <script>
          export default {
            mounted () {
              this.show()
            },
            methods: {
              show () {
                this.$modal.show('my-first-modal');
              },
              hide () {
                this.$modal.hide('my-first-modal');
              }
            }
          }
          </script>

          另外還支持Modal動態調用組件

          import MyComponent from './MyComponent.vue'
          this.$modal.show(
            MyComponent,
            { text: 'This text is passed as a property' },
            { draggable: true }
          )
          
          // or
          
          this.$modal.show(
            {
              template: `
                <div>
                  <h1>This is created inline</h1>
                  <p>{{ text }}</p>
                </div>
              `,
              props: ['text']
            },
            { text: 'This text is passed as a property' },
            { draggable: true, resizable: true },
            { 'before-close': event => {} }
          )


          附上模態框示例及倉庫地址

          # demo地址
          http://vue-js-modal.yev.io/
          
          # 項目地址
          https://github.com/euvl/vue-js-modal

          ok,這次就分享到這里。如果大家有其它Vue彈窗組件,歡迎留言討論~

          VSCode中,有許多與HTML相關的插件可以大大提高開發效率和便利性。以下是一些值得推薦的插件,它們各自具有獨特的功能和優點,可以幫助您更好地編寫、調試和預覽HTML代碼。

          1. HTML Snippets: 這個插件提供了許多HTML代碼片段,可以幫助您快速編寫常見的HTML結構和元素。只需輸入簡短的縮寫,即可自動生成相應的HTML代碼,大大提高了編寫速度。

          2. Emmet: Emmet是一個強大的代碼生成器,支持多種編程語言,包括HTML。通過簡單的縮寫和語法,您可以快速生成復雜的HTML結構和嵌套元素。Emmet還提供了許多自定義選項,可以根據您的需求進行靈活配置。

          3. HTML Boilerplate: 這個插件提供了一個HTML模板,包含了常見的HTML結構和元素,如文檔類型聲明、字符編碼、頭部信息等。使用這個插件,您可以快速創建一個基本的HTML框架,然后在此基礎上進行進一步的開發。

          4. HTML Preview: HTML Preview插件可以在VSCode中實時預覽HTML代碼的效果。您只需在編輯器中打開HTML文件,然后點擊預覽按鈕,即可在側邊欄中查看HTML頁面的渲染效果。這對于調試和預覽HTML代碼非常方便。

          5. Color Highlight: Color Highlight插件可以自動識別HTML代碼中的顏色值,并在編輯器中高亮顯示。這使得您更容易發現和修改顏色值,提高了代碼的可讀性和可維護性。

          6. HTML Boilerplate Generator: 這個插件可以幫助您快速生成HTML5的Boilerplate代碼,包括常用的meta標簽、字符編碼、視口設置等。它還提供了一些自定義選項,可以根據您的需求生成符合規范的HTML代碼。

          7. HTML CSS Support: 這個插件提供了對HTML和CSS的完整支持,包括語法高亮、代碼片段、代碼折疊等功能。它還支持自動完成和錯誤檢查,可以幫助您更高效地編寫HTML和CSS代碼。

          8. HTML/CSS/JS Prettify: 這個插件可以對HTML、CSS和JavaScript代碼進行格式化,使其更加整潔和易讀。您可以自定義格式化規則,也可以使用默認的規則進行快速格式化。這對于保持代碼風格一致和提高代碼可讀性非常有幫助。

          9. HTML Validator: HTML Validator插件可以對HTML代碼進行驗證,檢查其是否符合W3C規范。它可以檢測出潛在的錯誤和不符合規范的地方,并給出相應的提示和建議。這對于編寫符合標準的HTML代碼非常有幫助。

          10. Live Server: Live Server插件可以在本地啟動一個實時服務器,讓您在瀏覽器中實時預覽HTML、CSS和JavaScript代碼的效果。它支持自動刷新和熱更新,可以實時反映代碼的變化。這對于前端開發和調試非常方便。

          以上是一些值得推薦的VSCode中與HTML相關的插件。它們各自具有獨特的功能和優點,可以幫助您提高開發效率和便利性。當然,具體選擇哪些插件還需要根據您的實際需求和喜好來決定。希望這些推薦能對您有所幫助!

          ?

          演示地址: https://sortablejs.github.io/Sortable/

          Github:https://github.com/SortableJS/Sortable

          SortableJS是一款用于在現代瀏覽器和觸摸設備上的拖拽插件,不需要jQuery,但支持jQuery,支持Meteor,AngularJS,React,Polymer,Vue,Knockout和任何CSS庫,例如Bootstrap。

          特性

          • 支持觸屏設備和大部分瀏覽器,不支持IE9以下
          • 可以從一個列表容器中拖拽一個列表單元到其他容器或本列表容器中進行排序
          • 拖拽列表有動畫效果
          • 支持拖動手柄(小手)和可選文本
          • 智能自動滾動
          • 高級交換檢測
          • 使用原生HTML5拖放API構建
          • 支持Meter、Angular、React、Knockout、Polymer、Vue
          • 支持任意CSS庫,如BootStrap
          • 簡單的API
          • CDN服務
          • 不依賴jQuery(但支持jQuery)

          安裝

          通過npm

          npm install sortablejs --save
          

          通過bower

           bower install --save sortablejs
          

          用法

          <ul id="items">
          	<li>item 1</li>
          	<li>item 2</li>
          	<li>item 3</li>
          </ul>
          var el = document.getElementById('items');
          var sortable = Sortable.create(el);
          

          備注:不僅僅是可以使用ul/li,比如div等

          官方配置

          根據官網文檔簡單介紹下:

          • group:字符串或對象
          string:命名,個人建議用元素id就行,用處是為了設置可以拖放容器時使用
           array:[name,pull,put]
           name:同string的方法,
           pull:pull用來定義從這個列表容器移動出去的設置,true/false/'clone'/function
           true:列表容器內的列表單元可以被移出;
           false:列表容器內的列表單元不可以被移出;
           'clone':列表單元移出,移動的為該元素的副本;
           function:用來進行pull的函數判斷,可以進行復雜邏輯,在函數中return false/true來判斷是否移出;
           put:put用來定義往這個列表容器放置列表單元的的設置,true/false/['foo','bar']/function
           true:列表容器可以從其他列表容器內放入列表單元;
           false:與true相反;
           ['foo','bar']:這個可以是一個字符串或者是字符串的數組,代表的是group配置項里定義的name值;
           function:用來進行put的函數判斷,可以進行復雜邏輯,在函數中return false/true來判斷是否放入;
          
          • sort:boolean 定義是否列表單元是否可以在列表容器內進行拖拽排序
          • delay:number 定義鼠標選中列表單元可以開始拖動的延遲時間;
          • disabled:boolean 定義是否此sortable對象是否可用,為true時sortable對象不能拖放排序等功能,為false時為可以進行排序,相當于一個開關;
          • animation:number 單位:ms,定義排序動畫的時間;
          • handle:selector 格式為簡單css選擇器的字符串,使列表單元中符合選擇器的元素成為拖動的手柄,只有按住拖動手柄才能使列表單元進行拖動;
          • filter:selector 格式為簡單css選擇器的字符串,定義哪些列表單元不能進行拖放,可設置為多個選擇器,中間用“,”分隔;
          • draggable:selector 格式為簡單css選擇器的字符串,定義哪些列表單元可以進行拖放
          • ghostClass:selector 格式為簡單css選擇器的字符串,當拖動列表單元時會生成一個副本作為影子單元來模擬被拖動單元排序的情況,此配置項就是來給這個影子單元添加一個class,我們可以通過這種方式來給影子元素進行編輯樣式;
          • chosenClass:selector 格式為簡單css選擇器的字符串,當選中列表單元時會給該單元增加一個class;
          • forceFallback:boolean 如果設置為true時,將不使用原生的html5的拖放,可以修改一些拖放中元素的樣式等;
          • fallbackClass:string 當forceFallback設置為true時,拖放過程中鼠標附著單元的樣式;
          • scroll:boolean 默認為true,當排序的容器是個可滾動的區域,拖放可以引起區域滾動
          • 事件:
          • onChoose:function 列表單元被選中的回調函數
          • onStart:function 列表單元拖動開始的回調函數
          • onEnd:function 列表單元拖放結束后的回調函數
          • onAdd:function 列表單元添加到本列表容器的回調函數
          • onUpdate:function 列表單元在列表容器中的排序發生變化后的回調函數
          • onRemove:function 列表元素移到另一個列表容器的回調函數
          • onFilter:function 試圖選中一個被filter過濾的列表單元的回調函數
          • onMove:function 當移動列表單元在一個列表容器中或者多個列表容器中的回調函數
          • onClone:function 當創建一個列表單元副本的時候的回調函數

          事件對象

          • to:HTMLElement–移動到列表容器
          • from:HTMLElement–來源的列表容器
          • item:HTMLElement–被移動的列表單元
          • clone:HTMLElement–副本的列表單元
          • oldIndex:number/undefined–在列表容器中的原序號
          • newIndex:number/undefined–在列表容器中的新序號

          move 事件對象:

          • to:HTMLElement
          • from:HTMLElement
          • dragged:HTMLElement
          • draggedRect:DOMRect
          • related:HTMLElement — element on which have guided
          • relatedRect:DOMRect
          • willInsertAfter:Boolean — true if will element be inserted after target (or false if before)

          方法

          • option(name[,value])

          獲取或設置選項

          • closest

          對于集合中的每個元素,通過測試元素本身并遍歷DOM樹中的祖先來獲取與選擇器匹配的第一個元素

          • toArray()

          序列化可排序的列表單元的data-id(可通過配置項中dataIdAttr修改)放入一個數組,并返回這個數組中

          • sort()

          通過自定義列表單元的data-id的數組對列表單元進行排序

          • save()

          保存當前排序

          • destroy()

          完全銷毀可拖拽功能

          總結以下

          SortableJS在某些場景下非常有用,它是一個很好用的前端拖拽解決方案,合理的使用將會帶來某些意想不到的驚喜,比如讓某些不可拖拽模態框,變成可拖拽模態(沒有實踐過),喜歡折騰的小伙伴可以收藏學習了,本人翻譯功底實在有限,如果對你有幫助,請點個關注吧!謝謝!


          主站蜘蛛池模板: 国产在线一区二区杨幂| 99精品一区二区三区| 丰满爆乳无码一区二区三区| 亚洲一区二区三区香蕉| 交换国产精品视频一区| 视频一区在线免费观看| 少妇特黄A一区二区三区| 波多野结衣久久一区二区| 国产乱人伦精品一区二区| 亚洲国产精品一区| 亚洲第一区香蕉_国产a| 日本高清不卡一区| 久久福利一区二区| 国产成人精品久久一区二区三区| 国产在线视频一区二区三区98| 一区二区三区四区在线观看视频| 亚洲av乱码一区二区三区按摩| 亚洲国产成人久久一区WWW | 一区二区视频在线观看| 色狠狠色狠狠综合一区| 久久一区二区精品综合| 日韩精品无码一区二区视频| 久久4k岛国高清一区二区| 无码人妻精品一区二区蜜桃网站 | 国产精品亚洲一区二区三区在线观看| 最新中文字幕一区二区乱码| 在线精品国产一区二区三区| 亚洲一区二区三区免费观看| а天堂中文最新一区二区三区| 亚洲AV无码一区二区三区性色| 精品国产精品久久一区免费式 | 日本在线视频一区二区三区| 中文字幕在线看视频一区二区三区| 亚洲人AV永久一区二区三区久久| 国产精品无码一区二区在线观| 波多野结衣一区二区三区高清av| 精品国产一区二区三区免费看| AV天堂午夜精品一区| 91精品国产一区二区三区左线| 一区二区三区免费视频网站| 一区二区在线电影|