“我正参与程序编写·启航计划”要求实现一个图标库

lxf2023-05-20 00:52:15

“我正参与「程序编写·启航计划」”

要求

实现一个图标库的部件如下图所示,规定能够提交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为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!