当前位置: 首页 > news >正文

集团网站手机版建站视频网站

集团网站手机版,建站视频网站,wordpress数据库分析,淄博网站建设费用Vue无代码可视化项目 编排引擎smooth-dndLeftPanel.vueLayoutView.vuestores/debug.tsstores/editor.tsAppNavigator.vue添加-左侧栏添加到中间部分LayoutView.vuestore/editor.tsLeftPanel.vue移动-中间部分区域的位置更改新建文件夹utils、文件array.tsarray.tsLayoutView.vu…

Vue无代码可视化项目

  • 编排引擎
    • smooth-dnd
      • LeftPanel.vue
      • LayoutView.vue
      • stores/debug.ts
      • stores/editor.ts
      • AppNavigator.vue
    • 添加-左侧栏添加到中间部分
      • LayoutView.vue
      • store/editor.ts
      • LeftPanel.vue
    • 移动-中间部分区域的位置更改
      • 新建文件夹utils、文件array.ts
        • array.ts
        • LayoutView.vue

编排引擎

smooth-dnd

LeftPanel.vue

 <SmoothDndContainer class="block-group" behaviour="copy"tag="div"  group-name="blocks" @drag-start="(e,v)=>console.log(e,v)" @drag-leave="(e,v)=>console.log(e,v)"@drop="(e)=>console.log('drop',e)":get-child-payload="(index:number)=>index"><SmoothDndDraggable v-for="i in 10" :key="i"><div class="block-item">{{i}}</div></SmoothDndDraggable></SmoothDndContainer>
.block-item{width: 40px;height: 40px;background-color: #fff;border: 1px solid #e8e8e8;margin-bottom: 8px;display: flex;justify-content: center;align-items: center;font-size: 14px;transition:background-color 0.3s;cursor: move;user-select: none;
}.block-group{padding: 8px;display: flex;flex-wrap: wrap;gap: 8px;
}
</style>

全部代码:

<script setup lang="ts">
import {Lightning, Share } from '@icon-park/vue-next'
import { ref } from 'vue';
import {SmoothDndContainer} from '@/components/SmoothDnd/SmoothDndContainer'
import {SmoothDndDraggable} from '@/components/SmoothDnd/SmoothDndDraggable'type Mode = 'outline'|'blocks'|null
const mode = ref<Mode>(null)const toggleMode = (newMode:Mode) => {if(newMode === mode.value){mode.value = null}else{mode.value = newMode}
}
</script><template><div class="left-panel-wrapper"><div class="left-panel-left"><div class="btn" :class="{active:mode==='outline'}" @click="()=>toggleMode('outline')"><Lightning /></div><div class="btn" :class="{active:mode==='blocks'}" @click="()=>toggleMode('blocks')"><Share /></div></div><!-- 接入动画 --><transition name="app-left-panel-drawer"><div class="left-panel-content" v-show="mode">{{mode}}<!-- 面板中使用SmoothDnd --><SmoothDndContainer class="block-group" behaviour="copy"tag="div"  group-name="blocks" @drag-start="(e,v)=>console.log(e,v)" @drag-leave="(e,v)=>console.log(e,v)"@drop="(e)=>console.log('drop',e)":get-child-payload="(index:number)=>index"><SmoothDndDraggable v-for="i in 10" :key="i"><div class="block-item">{{i}}</div></SmoothDndDraggable></SmoothDndContainer></div></transition></div>
</template><style scoped>
.left-panel-wrapper {display: flex;height: 100%;background-color: #f5f5f5;border: 1px solid #e8e8e8;
}
.left-panel-left{display: flex;padding:0 10px;flex-direction: column;align-items: center;width: 50px;height: 100%;background-color: #e8e8e8;
}
.btn{width: 32px;height: 32px;display: flex;justify-content: center;align-items: center;cursor: pointer;border-radius: 6px;margin-top:20px;/* &:hover{background-color: #f5f5f5;} */
}
.btn:hover{background-color: #f5f5f5;
}
/* 被激活时候的特定样式 */
.btn.active{background-color: rgb(0,196,83);color: #fff;
}
.left-panel-content{flex: 1;width: 280px;height: 100%;background-color: #f5f5f5;overflow: hidden;
}/* 下面我们会解释这些 class 是做什么的 */
.app-left-panel-drawer-enter-active,
.app-left-panel-drawer-leave-active {transition: width 0.1s cubic-bezier(0.3, 0.1, 0.3, 1);
}.app-left-panel-drawer-enter-from,
.app-left-panel-drawer-leave-to {width: 0;
}.app-left-panel-drawer-content {width: calc(var(--panel-width) - 60px);height: 100%;padding: 16px;
}.block-item{width: 40px;height: 40px;background-color: #fff;border: 1px solid #e8e8e8;margin-bottom: 8px;display: flex;justify-content: center;align-items: center;font-size: 14px;transition:background-color 0.3s;cursor: move;user-select: none;
}.block-group{padding: 8px;display: flex;flex-wrap: wrap;gap: 8px;
}
</style>

LayoutView.vue

  <SmoothDndContainer class="block-group" orientation="vertical"tag="div"  group-name="blocks" @drop="(payload)=>editorStore.addBlock(payload)"  ><SmoothDndDraggable v-for="block in blocks" :key="block"
http://www.yayakq.cn/news/616806/

相关文章:

  • 自己代码做网站邹城网站网站建设
  • 3d模型资源哪个网站比较好网站seo推广平台
  • 关于备案空壳网站清理通知注册网站会员有风险吗
  • 广东企业微信网站建设做网站买虚拟主机
  • 网站设计与制作服务可以做数据图的的网站
  • 怎么搭建网站友情链接做电影网站许可证
  • 招商加盟的网站应该怎么做一流的常州网站优化
  • 设一个网站链接为安全怎么做网站建设哪家不错
  • 找做网站的人asp提交到另外网站
  • 可以做海报的网站苏州关键词搜索排名
  • 北京石景山网站建设百度seo
  • 网站建设分哪几个版块calypso wordpress
  • wordpress做网站怎么样国家建设部网站
  • 成都优秀网站建设海淀网站建设龙岩
  • 网页如何建设宁波seo关键词排名优化
  • 电子商务网站建设的建议常见的网络营销类型有
  • 建设网站公司 优帮云全友全屋定制官网
  • 做ppt音乐怎么下载网站河北网站开发联系电话
  • 西宁市城乡规划建设局网站wordpress 面向对象
  • 安徽建筑工程网站视频网站的链接怎么做的
  • 章丘市网站建设seops课堂网站
  • 网站+做内容分发资格网站建设维护专员
  • 中国移动网站建设怎么做wordpress 仿 模板
  • 为什么建设银行网站打不开wordpress下载插件
  • vi毕业设计代做网站外贸网站模板建立
  • 大型网站建设托管服务太原网站建设方案托管
  • 极速网站建设定制费用国内优秀网页设计案例
  • 深圳网站开发一薇浙江网站建设公司电话
  • 做app网站的软件有哪些内容吗不买域名怎么做网站
  • 酒店网站开发需求是企业写的吗宝安中心医院怎么样