色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Vue實(shí)現(xiàn)div滾輪放大縮小

瀏覽:21日期:2022-09-28 18:35:44

Vue項(xiàng)目中實(shí)現(xiàn)div滾輪放大縮小,拖拽效果,類似畫布效果

Vue實(shí)現(xiàn)div滾輪放大縮小

1、引入插件vue-draggable-resizable,點(diǎn)我進(jìn)入GitHub地址。

1)、npm install --save vue-draggable-resizable2)、main.js文件中

import VueDraggableResizable from ’vue-draggable-resizable’import ’vue-draggable-resizable/dist/VueDraggableResizable.css’Vue.component(’vue-draggable-resizable’, VueDraggableResizable)

3)、vue文件中使用

main.js:

import Vue from ’vue’import App from ’./App’import router from ’./router’Vue.config.productionTip = false// iviewimport ViewUI from ’view-design’;import ’view-design/dist/styles/iview.css’;Vue.use(ViewUI)// 拖拽·縮放·畫布插件import VueDraggableResizable from ’vue-draggable-resizable’import ’vue-draggable-resizable/dist/VueDraggableResizable.css’Vue.component(’vue-draggable-resizable’, VueDraggableResizable)new Vue({ el: ’#app’, router, components: { App }, template: ’<App/>’})

vue文件: 只需要關(guān)注引入組件vue-draggable-resizable配置項(xiàng)和handleTableWheel、tableZoom方法即可。

<template> <div class='is'><div > <!-- 引入組件. :lock-aspect-ratio='true':鎖定縱橫比例 :resizable='false': 不可縮放--> <vue-draggable-resizablew='auto'h='auto':grid='[20,40]':x='10':y='10':resizable='false' ><div ref='table' @wheel.prevent='handleTableWheel($event)'> <-- iview表格,無關(guān)緊要,任何div即可 --> <Table:columns='columns1':data='data1'size='small':disabled-hover='true'border ><template slot-scope='{ row, index }' slot='name'> <Tooltip :content='row.name' placement='top' transfer><span @click='handleCellClick(row)'>{{ row.name }}</span> </Tooltip></template> </Table></div> </vue-draggable-resizable></div> </div></template><script>import VueDraggableResizable from 'vue-draggable-resizable';export default { name: 'is', data() {return { columns1: [{ title: 'Name', slot: 'name', width: 120},{ title: 'Age', key: 'age', width: 120},{ title: 'Address', key: 'address', width: 120},{ title: 'Name', key: 'name', width: 120},{ title: 'Age', key: 'age', width: 120},{ title: 'Address', key: 'address', width: 120},{ title: 'Name', key: 'name', width: 120},{ title: 'Age', key: 'age', width: 120},{ title: 'Address', key: 'address', width: 120} ], data1: [{ name: 'John Brown', age: 18, address: 'New York No. 1 Lake Park'},{ name: 'Jim Green', age: 25, address: 'London No. 1 Lake Park', cellClassName: {age: 'demo-table-info-cell-age',address: 'demo-table-info-cell-address' }},{ name: 'Joe Black', age: 30, address: 'Sydney No. 1 Lake Park'},{ name: 'Jon Snow', age: 26, address: 'Ottawa No. 2 Lake Park', cellClassName: {name: 'demo-table-info-cell-name' }},{ name: 'John Brown', age: 18, address: 'New York No. 1 Lake Park'},{ name: 'Jim Green', age: 25, address: 'London No. 1 Lake Park', cellClassName: {age: 'demo-table-info-cell-age',address: 'demo-table-info-cell-address' }},{ name: 'Joe Black', age: 30, address: 'Sydney No. 1 Lake Park'},{ name: 'Jon Snow', age: 26, address: 'Ottawa No. 2 Lake Park', cellClassName: {name: 'demo-table-info-cell-name' }} ]}; }, mounted() {}, methods: {handleTableWheel(event) { let obj = this.$refs.table; return this.tableZoom(obj, event);},tableZoom(obj, event) { // 一開始默認(rèn)是100% let zoom = parseInt(obj.style.zoom, 10) || 100; // 滾輪滾一下wheelDelta的值增加或減少120 zoom += event.wheelDelta / 12; if (zoom > 0) {obj.style.zoom = zoom + '%'; } return false;},// 單擊單元格事件(用于測試拖拽是否阻止了表格默認(rèn)事件,無關(guān)緊要)handleCellClick(row) { this.$Message.info('你點(diǎn)擊了' + row.name);} }};</script><style scoped lang='less'>.is { .table {.name { cursor: pointer;} }}// iview表格樣式:iview官網(wǎng)復(fù)制就行,無關(guān)緊要/deep/ .ivu-table { .demo-table-info-row td {background-color: #2db7f5;color: #fff; } td.demo-table-info-column {background-color: #2db7f5;color: #fff; } .demo-table-error-row td {background-color: #ff6600;color: #fff; } .demo-table-info-cell-name {background-color: #2db7f5;color: #fff; } .demo-table-info-cell-age {background-color: #ff6600;color: #fff; } .demo-table-info-cell-address {background-color: #187;color: #fff; }}// 去除畫布中div邊框.vdr { border: none;}</style>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 一区二区三区欧美 | 国产欧美日韩亚洲 | 中文字幕va一区二区三区 | 中国二级毛片 | xxx欧美老熟 | 一级一片免费视频播放 | 欧美大片欧美毛片大片 | 成人毛片免费播放 | 欧美极品欧美精品欧美视频 | 亚洲精品久久久中文字 | 手机毛片免费看 | 男女午夜爽爽 | 国产精品v免费视频 | 欧美成人免费在线 | 国产黄色小视频 | 日本久久久 | 日韩a毛片免费全部播放完整 | www.色午夜| 午夜视频一区二区三区 | 亚洲综合91社区精品福利 | 91av观看| 老湿菠萝蜜在线看 | 国产亚洲精品激情一区二区三区 | 久草中文网 | 日本高清不卡中文字幕 | 国产精品大全 | 亚欧视频在线观看 | 亚洲欧美国产中文 | 亚洲一区二区三区不卡视频 | 一级黄片一级毛片 | 在线看片中文字幕 | 久久九九爱 | 国产精品成人不卡在线观看 | 亚洲国产日韩欧美综合久久 | 欧美亚洲国产片在线观看 | 国产免费久久精品 | 日本乱理伦中文三区 | 日韩a级| 久免费视频| 91香蕉国产在线观看免费永久 | 久久精品视频免费看 |