首页 > 其他分享 >vue组件大全

vue组件大全

时间:2025-01-15 14:47:30浏览次数:1  
标签:vue file img avatar uploader 组件 border 大全

作用

此随笔记录我人生中所有自己写出来的组件样式

图片加文字组件

<template>
    <div class="set_img">
        <el-container>
            <el-aside width="300px">
                <p class="set_img_p">弹框一:</p>
                <div class="set_img_bk">
                    <el-upload class="avatar-uploader custom-uploader"
                        action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
                        :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
                        <img v-if="imageUrl" :src="imageUrl" class="avatar">
                        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                    </el-upload>
                </div>
            </el-aside>
            <el-main>
                <div class="set_img_attribute">
                    <p>关闭方式:</p>
                    <el-checkbox style="margin-left: 6%;margin-top: 6%;" v-model="checked1">5秒后自动关闭</el-checkbox>
                    <el-checkbox v-model="checked2">手动关闭</el-checkbox>
                    <p style="margin-top: 6%;">弹出时效:</p>
                    <el-radio style="margin-left: 6%;margin-top: 6%;" v-model="radio" label="1">默认弹窗5天</el-radio>
                    <el-radio v-model="radio" label="2">播放至</el-radio>
                    <el-date-picker style="width: 30%;" v-model="value1" type="date" placeholder="请选择日期">
                    </el-date-picker><br>
                    <el-button style="margin-top: 10%;margin-right: 15%;float: right;" type="primary">保存</el-button>
                </div>
            </el-main>
        </el-container>
    </div>
</template>

<script>
export default {
    name: 'PopupBox',
    data() {
        return {
            //单选框
            value1:'',
            radio: '1',
            //多选框
            checked1: true,
            checked2: true,
            imageUrl: ''
        };
    },
    methods: {
        handleAvatarSuccess(res, file) {
            this.imageUrl = URL.createObjectURL(file.raw);
        },
        beforeAvatarUpload(file) {
            const isJPG = file.type === 'image/jpeg';
            const isLt2M = file.size / 1024 / 1024 < 2;

            if (!isJPG) {
                this.$message.error('上传头像图片只能是 JPG 格式!');
            }
            if (!isLt2M) {
                this.$message.error('上传头像图片大小不能超过 2MB!');
            }
            return isJPG && isLt2M;
        }
    }
}

</script>

<style scoped>
.set_img_p {
    margin-left: 5%;
}

.set_img {
    margin-left: 2%;
    border: 1px solid rgb(228, 228, 228);
    width: 750px;
    height: 360px;
}

.set_img_attribute {}

.avatar {
    width: 100%;
    height: 100%;
    display: block;
}

/* .avatar-uploader .el-upload {
    border: 1px dashed #1a0e0e;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
} */

.avatar-uploader .el-upload:hover {
    border-color: #1c5792;
}

.avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
}

.custom-uploader {
    background-color: #f0f0f0;
    /* 设置背景颜色 */
    padding: 10px;
    /* 添加一些内边距 */
    border-radius: 5px;
    /* 添加圆角 */
    border: 1px solid #dcdcdc;
    /* 添加边框 */
    display: flex;
    /* 使用 Flexbox 布局 */
    justify-content: center;
    /* 水平居中 */
    align-items: center;
    /* 垂直居中 */
    width: 200px;
    /* 设置宽度 */
    height: 250px;
    /* 设置高度 */
    margin-left: 10%;
}
</style>

image

标签:vue,file,img,avatar,uploader,组件,border,大全
From: https://www.cnblogs.com/freps/p/18672960

相关文章

  • vue实现Nprogress进度条功能
    实现效果:1、安装NProgress可以通过npm安装npminstall--savenprogress2、在index.ts中配置importNProgressfrom'nprogress';import'nprogress/nprogress.css'NProgress.configure({ease:"ease",speed:500,})//路由前置守卫router.bef......
  • 封装按钮信息与按钮数量动态显示与提示信息并进行触发按钮组件
    标题:封装弹框并点击动态按钮组件进行触发功能:封装按钮信息与按钮数量动态显示组件页面:按钮信息与按钮数量动态显示,提示信息不固定封装组件页面: <template><el-dialogv-model="dialogVisible"class="stepCustom-dialogcustom-dialog-center"destroy-on-closeheight=......
  • 图表封装组件
    图表封装: 图表封装使用:<template><!--软件模块复用率图表--><chart-and-tableref="chartAndTableRef":chart-desc="chartDesc":chart-loading="chartLoading":columns="columns":list="list":......
  • vue3+ts展示条项字段
     展示条项组件:<el-formv-if="currentStep===4"label-position="left"label-width="120px"style="display:flex;flex-wrap:wrap;justify-content:flex-start;margin-left:138px;"><el-rowv-for="(row,r......
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(六)
    文章目录一、考试管理模块实现1、添加考试功能实现1.1页面设计1.2前端功能实现1.3后端功能实现1.4效果展示2、考试管理功能实现2.1页面设计2.2前端功能实现2.3后端功能实现2.3.1后端查询接口实现2.3.2后端编辑接口实现2.3.3后端删除接......
  • vue2生命周期,vue2各个方法介绍
    beforeCreate:在这里加loading(页面加载的时候我想要做的事情)created:在这里结束loading,还可以做一些初始数据的获取beforeMount:载入前(已经完成了data和el数据初始化),但是页面中的内容还是vue的占位符,data中的数据是没有被挂载到dom节点中的;可以在......
  • 在vue前端项目中使用高德地图
    高德地图api对接1.申请高德地图开发者GeoHUB登录地址高德开放平台|高德地图API未注册的同学需要支付宝扫码绑定申请个人开发者登录之后2.申请应用选中控制台->申请应用配置key3.项目开发项目开发参考文档:地图点击和鼠标事件-地图事件-示例中心-JSAPI2.0示例|......
  • vue.js actions和getters
    在Vue.js中,使用vuex状态管理库来管理全局状态。其中,actions和getters是vuex中的两个重要概念。actions用于处理异步操作,例如发送HTTP请求或者其他需要等待结果的操作。它可以包含任意异步操作,并且可以通过commit方法来触发mutations的方法来改变state,也可以通过dispatch方法来......
  • vue.js辅助函数-mapMutations
    在Vue.js中,使用辅助函数可以更方便地使用Vuex的mutation。而mapMutations就是Vuex提供的一个辅助函数,它可以将mutation映射到组件的methods中,使得我们可以在组件中直接调用mutation,而不需要手动进行commit。mapMutations函数接收一个字符串数组或对象作为参数,数组中的字符串即......
  • vuex 构建多组件共享的数据环境
    Vuex是Vue.js的官方状态管理库,用于在Vue.js应用程序中构建多个组件共享的数据环境。Vuex可以帮助我们解决组件之间共享数据和状态管理的问题。它将应用程序的状态存储在一个单一的地方,称为"store",并且允许组件直接从store中获取和修改状态,而不需要通过事件或属性传递......