electron 自定义窗体拖拽功能

文章目录

问题

在写好窗口后发现不能拖拽,这个时候就需要我们自行去设置一个拖拽功能

分析

  • index.vue
js 复制代码
<template>
    <div class="login-panel">
        <div class="titlt drag">WeChat</div>
        <div class="login-form">
            <div class="error-msg">{{ errorMsg }}</div>
            <el-form ref="formDataRef" :model="formData" label-width="0px">
                <el-form-item prop="email">
                    <el-input v-model.trim="formData.email" clearable size="large" placeholder="请输入邮箱">
                        <template #prefix>
                            <span class="iconfont icon-email"></span>
                        </template>
                    </el-input>
                </el-form-item>
                <el-form-item prop="password">
                    <el-input v-model.trim="formData.password" show-password clearable size="large" placeholder="请输入密码">
                        <template #prefix>
                            <span class="iconfont icon-password"></span>
                        </template>
                    </el-input>
                </el-form-item>
                <el-form-item prop="checkcode">
                    <el-input v-model.trim="formData.checkcode" clearable size="large" placeholder="请输入密码">
                        <template #prefix>
                            <span class="iconfont icon-checkcode"></span>
                        </template>
                    </el-input>
                </el-form-item>
                <el-form-item >
                    <el-button type="primary" class="login-btn" @click="handleLogin">
                        登录
                    </el-button>
                </el-form-item>
                <div class="bottom-link">
                    <div class="a-link">没有账号?</div>
                </div>
            </el-form>
        </div>
    </div>
</template>

<script setup>
import { ref } from 'vue'
const errorMsg = ref('这里是错误信息')
const formDataRef = ref()
const formData = ref({
    email: '',
    password: '',
    checkcode: ''
})
const handleLogin = () => {
    
}
</script>

<style scoped>
.logading-panel {
    height: calc(100vh-32px);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;

    img {
        width: 300px;
    }
}

.login-panel {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #ddd;
    margin: 0 auto;
    padding: 5px;
}
.login-form{
    padding: 15px;

}
 .title {
     height: 30px;
 }
.login-btn{
    width: 100%;
}
.bottom-link{
    display: flex;
    justify-content: end;
}
</style>
  • 全局css
css 复制代码
.drag {
    /* 设置该属性表明这是可拖拽区域,用来移动窗口 */
    -webkit-app-region: drag;
}

.no-drag {
    -webkit-app-region: no-drag;
}
相关推荐
郭老二1 小时前
【前端】vue3:编译步骤
前端
不在逃避q2 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁2 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9852 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易2 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师3 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174464 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈4 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen5 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒5 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端