“我正参与「程序编写·启航计划」”
要求
实现一个图标库的部件如下图所示,规定能够提交svg和png格式照片,点一下可选定,并且在右上方表明删除图标可以点击删掉!
完成
逐渐想得用相片墙能直接完成,可是并不好,最后使用的如下所示方法完成:
1. 最先有一个弹出窗口
2. 弹出窗口里有一个提交部件,提交部件再放一个card信用卡用于展现上传照片。
3. 运用flex合理布局开展款式改动,那样合理布局就完成
4. 当提交完毕之后图片显示在卡牌中
5. 点击此处能够选定,选定以后给信用卡再加上黑影来描述现阶段选定(默认选中第一个),点一下明确将照片信息的传递给父部件,完成图片挑选
6. 点一下删掉能出提醒,点一下明确就删除图片,读取插口再次读取数据!
<el-dialog
:close-on-click-modal="false" // 在空白点一下容许弹窗关闭
title="图标库"
:visible.sync="dialogVisible"
width="40%"
@open="open" // 弹出窗口开启的情况下,能去调插口读取数据
>
<div>
<el-upload
name="upfile"
accept=".png,.svg" // 再选上传照片的弹出窗口内进行种类限定
list-type="picture-card"
:show-file-list="false"
:action="upload.url" // 照片上传详细地址
:data="upload.data"
:on-success="onSuccess" // 发布成功调用接口读取数据,对图标库开展更新
:before-upload="beforeUpload" // 提交以前,能够对上传图片种类开展校检
>
<i class="el-icon-upload" />
</el-upload>
<el-card v-for="(item,index) in iconList" :key="index" :class="item.active?'':'none'">
<el-button v-if="item.active" type="text"><i class="el-icon-close" /></el-button>
<el-image :src="item.url" />
</el-card>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="submitIcon">确 定</el-button>
</span>
</el-dialog>
文件属性校检
// 文件属性校检
beforeUpload(file) {
if (file.type !== 'image/png' && file.type !== 'image/svg xml') {
this.$message.warning('上传数据图表只支持SVG、PNG文件格式')
return false
}
}
提交部件款式改动(相片墙icon垂直居中)
::v-deep .el-upload--picture-card {
width:100px;
height:100px;
line-height: 100px;
text-align: center;
margin-right: 10px;
margin-top: 10px;
}
遇到的困难
一开始写的时候,其实并没有删掉作用,所以也是他在实施过程中感觉需要一个删掉因此写的当鼠标移入card时表明现阶段card的删除按钮,移除时掩藏删除按钮。
本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!