vue实现可视化网页拖拽设计器代码

代码语言:html

所属分类:拖放

代码描述:vue实现可视化网页拖拽设计器代码

代码标签: vue 可视化 网页 拖拽 设计器 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Visual Web Page Designer</title>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script>
 <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/Sortable.1.15.0.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vuedraggable.umd.2.20.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
        }
        #app {
           
            height: 100vh;
        }
        .design-area {
            flex: 2;
            border-right: 1px solid #ccc;
            padding: 20px;
            overflow-y: auto;
            min-height: 100vh;
        }
        .components-list {
            flex: 1;
            padding: 20px;
            background-color: #f0f0f0;
            overflow-y: auto;
        }
        .component-item {
            background-color: #fff;
            border: 1px solid #ddd;
            padding: 10px;
            margin-bottom: 10px;
            cursor: move;
        }
        .design-component {
            border: 1px dashed #999;
            padding: 10px;
            margin-bottom: 10px;
            position: relative;
        }
        .design-component.active {
            border: 2px solid #007bff;
        }
        .remove-btn {
            position: absolute;
            top: 5px;
            right: 5px;
            background-color: #ff4444;
            color: white;
            border: none;
            padding: 2px 5px;
            cursor: pointer;
        }
        .properties-panel {
            background-color: #f8f9fa;
            border-left: 1px solid #ccc;
            padding: 20px;
            width: 200px;
        }
        .export-btn {
            background-color: #28a745;
            color: white;
            border: none;
            padding: 10px 20px;
            cursor: pointer;
            margin-top: 20px;
        }
    </style>
</head>

<body>
    <div id="app">
        <div><button class="export-btn" @click="exportJSON">导出 JSON</button></div>
        <div style=" display: flex;">
            <div class="design-area">
                <h2>设计区</h2>
                <draggable v-model="designComponents" group="components" style="height:100vh;">
                    <div v-for="(component, index) in designComponents" :key="index" class="design-component" :class="{ active: selectedComponent === component }" @click="selectComponent(component)">
                        &.........完整代码请登录后点击上方下载按钮下载查看

网友评论0