微信小程序个人简历界面(编辑版)

2023-10-26

微信小程序个人简历界面、可编辑修改(包含全部源码)

1、微信小程序实现简单的个人简历界面,包含基本信息、教育背景、获奖证书、兴趣爱好等,简历信息支持修改编辑内容。
2、通过此文章,希望能带给更多学习微信小程序的伙伴们一点点经验,示例简洁,布局简单,喜欢的小伙伴,可以进我主页,分享更多学习经验和示例界面呦。
3、本界面主要是以布局和可编辑个人简历为主,具体完整的简历信息界面还需自己添加,关注博主,后期将分享保存提交后,生成一个完整不可编辑的简历界面哦。
4、代码中若存在不恰当的地方,还请批评指正,非常感谢!
个人简历界面
1、js代码

// index.js
Page({
  data: {
    show: false,
    hobby: false,
    avatar: 'https://img0.baidu.com/it/u=345359896,661384602&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
    nickName: '布吉岛',
    phone: '18866668888',
    // 编辑时临时数据
    tempList: {
      avatarTemp: 'https://img0.baidu.com/it/u=345359896,661384602&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
      nameTemp: '布吉岛',
      phoneTemp: '18866668888',
    },
    arraySex: ['女', '男'],
    indexSex: 0,
    arrayMarry: ['未婚', '已婚'],
    indexMarry: 0,
    arrayEducation: ['小学', '初中', '高中', '大专', '本科', '研究生'],
    indexEducation: 4,
    attrImg: [],
    hobbyVal: '',
    labelList: []
  },
  editClick() {
    this.setData({
      show: true,
      hobby: false
    })
  },
  // 添加兴趣爱好【注意:itemList最长6】
  addHobbyClick() {
    var that = this;
    var list = ['自定义', '打篮球', '打羽毛球', '游泳', '爬山', '踢足球'];
    var attr = this.data.labelList;
    wx.showActionSheet({
      itemList: list,
      success(res) {
        if (res.tapIndex == 0) {
          that.setData({
            show: true,
            hobby: true
          })
        } else {
          that.setData({
            labelList: attr.concat(list[res.tapIndex])
          })
        }
      }
    })
  },
  // 添加证件照头像、证书【type为0则为上传证件照头像,反之为证书图片】
  selectImage(e) {
    var that = this;
    var type = e.currentTarget.dataset.tag;
    var attr = this.data.attrImg;
    wx.chooseMedia({
      count: type == '0' ? 1 : 6,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      maxDuration: 30,
      camera: 'back',
      success(res) {
        if (type == '0') {
          that.setData({
            'tempList.avatarTemp': res.tempFiles[0].tempFilePath
          })
        } else {
          var str = [];
          var list = res.tempFiles;
          for (var i = 0; i < list.length; i++) {
            str.push(list[i].tempFilePath);
          }
          that.setData({
            attrImg: attr.concat(str)
          })
        }
      }
    })
  },
  // 长安删除图片
  longtapDeleteImg(e) {
    let that = this;
    let tag = e.currentTarget.dataset.index;
    wx.showModal({
      title: '提示',
      content: '确定删除该图片吗?',
      complete: (res) => {
        if (res.confirm) {
          var list = that.data.attrImg;
          list.splice(tag, 1);
          that.setData({
            attrImg: list
          })
        }
      }
    })
  },
  // 图片查看
  previewClick(e) {
    let path = e.currentTarget.dataset.url;
    wx.previewImage({
      current: path, // 当前显示图片的http链接
      urls: this.data.attrImg // 需要预览的图片http链接列表
    })
  },
  // 兴趣爱好输入监听
  inputHobbyClick(e) {
    this.setData({
      hobbyVal: e.detail.value
    })
  },
  // 昵称姓名输入监听
  inputNick(e) {
    this.setData({
      'tempList.nameTemp': e.detail.value
    })
  },
  // 联系电话输入监听
  inputPhone(e) {
    this.setData({
      'tempList.phoneTemp': e.detail.value
    })
  },
  // 长安删除兴趣爱好标签
  longtapDeleteLabel(e) {
    let that = this;
    let tag = e.currentTarget.dataset.index;
    wx.showModal({
      title: '提示',
      content: '确定删除该爱好标签吗?',
      complete: (res) => {
        if (res.confirm) {
          var list = that.data.labelList;
          list.splice(tag, 1);
          that.setData({
            labelList: list
          })
        }
      }
    })
  },
  // 取消监听
  cancelMask() {
    this.setData({
      show: false,
      hobbyVal: '',
      'tempList.avatarTemp': this.data.avatar,
      'tempList.nameTemp': this.data.nickName,
      'tempList.phoneTemp': this.data.phone
    })
  },
  // 确定监听
  defineMask() {
    if (this.data.hobby) {
      if (this.data.hobbyVal == '') {
        wx.showToast({
          title: '兴趣爱好不能为空哦',
          icon: 'none'
        })
      } else {
        var attr = this.data.labelList;
        this.setData({
          show: false,
          hobbyVal: '',
          labelList: attr.concat(this.data.hobbyVal)
        })
      }
    } else {
      this.setData({
        show: false,
        avatar: this.data.tempList.avatarTemp,
        nickName: this.data.tempList.nameTemp,
        phone: this.data.tempList.phoneTemp
      })
    }
  },
  // 提交
  formSubmit(e) {
    let params = e.detail.value;
    params.avatar = this.data.avatar;
    params.nickName = this.data.nickName;
    params.phone = this.data.phone;
    // 若仅仅是获取下标
    // params.sex=this.data.indexSex;
    // params.marry=this.data.indexMarry;
    // params.education=this.data.indexEducation;
    // 若仅仅是获取下标对应的文本
    params.sex = this.data.arraySex[this.data.indexSex];
    params.marry = this.data.arrayMarry[this.data.indexMarry];
    params.education = this.data.arrayEducation[this.data.indexEducation];
    params.certificateImg = this.data.attrImg;
    params.hobbyList = this.data.labelList;
    console.log('获取提交的参数信息', params)
    wx.showToast({
      title: '提交监听',
    })
  },
})

2、wxml代码

<view class="level top-box">
  <view class="avatar">
    <image src="{{avatar}}" mode="widthFix"></image>
  </view>
  <view class="level info">
    <view>
      <view class="name">{{nickName}}</view>
      <view class="tel">{{phone}}</view>
    </view>
    <view bindtap="editClick">									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序个人简历界面(编辑版) 的相关文章

  • 如何更改 JavaScript 对象的顺序?

    我的 JavaScript 对象如下所示 ivrItems 50b5e7bec90a6f4e19000001 name sdf key 555 onSelect fsdfsdfsdf 50b5e7c3c90a6f4e19000002 nam
  • 防止用户在 javascript 中离开我的页面

    在我的表单中 我有一个不显眼的情态 如果用户单击我的 离开图像 我会打开模式并询问他是否想离开 如果用户同意 JavaScript Jquery 是否可以 停止 重新加载或页面更改以显示我的模式并继续操作 重新加载 下一页 上一页等 I t
  • 为 javascript 编写一个真正具有包容性的随机方法

    Javascript MATH 对象有一个随机方法 该方法从集合 0 1 返回 0 含 0 1 不包括 有没有办法返回一个真正随机的方法 其中包括 1 e g var rand MATH random 2 if rand gt 1 rand
  • 移动时如何将图像保留在另一图像后面?

    Edit Here https jsfiddle net 33cL1qos 6 我可以在选择时将其保留在后面 但由于某种原因它现在不可拖动 我可能做错了什么 我能够从计算机上传图像 然后移动图像 我的问题 当我选择图像时 它会向前弹出 直到
  • 我想使用 javascript 和按钮更改标签的 src 属性
  • 如何在没有 Node.JS 的情况下运行 UglifyJS2

    无论如何都要跑UglifyJS2 https github com mishoo UglifyJS2没有node js 假设我想使用 JavaScript 脚本引擎在 JVM 进程中运行它 怎么做 我看到米秀回答你了https github
  • 将变量作为 IIFE 中的属性返回

    我试图在 IIFE 初始化后返回一个变量集作为属性 问题是 如果我直接绑定变量 我会得到一个空对象 如果我通过函数绑定它 我就会得到我想要的结果 var Application function var localInformation f
  • eBay API 调用不适用于 UPC/EAN

    eBay 的 API findItemsByProduct 操作适用于 UPC 和 EAN 但不幸的是它不起作用 例如 下面的 HTTP GET 请求会抛出 无效的产品 ID 值 错误41 Note 请将 SECURITY APPNAME
  • 在 JavaScript 中使用随机数创建长度为 n 的数组

    跟进这个答案 https stackoverflow com a 34693778 1525840为了创建指定长度的数组 我执行了以下命令以获得相应的结果 但填充了随机数 而不是零 var randoms Array 4 fill Math
  • 如何使用 gatsby-image 不裁剪地显示图像?

    实例 图像可能加载缓慢 https suhadolnik photo surge sh portreti https suhadolnik photo surge sh portreti 我正在使用 GatsbyJS 制作一个摄影网站 并使
  • 随机字体颜色

    我需要用 2 或 3 种随机颜色为文本着色 我如何在 PHP 或 JavaScript 中执行此操作 color str pad sprintf x x x rand 0 255 rand 0 255 rand 0 255 6 rand 0
  • 使用什么比例仅在 d3 js 中的 x 轴上表示年份

    我一直在 D3 Js 中开发年份 x 轴 与收入 y 轴 的面积图 数据如下 localData Revenue 4 5 Year 2011 Revenue 5 5 Year 2010 Revenue 7 0 Year 2012 Reven
  • 如何在不同位置显示验证错误消息?

    我在用knockout js knockout validation插件 我正在添加示例小提琴 http jsfiddle net hsnCW 1 http jsfiddle net hsnCW 1 在此示例中 对数组进行了自定义验证以检查
  • 如何在生成的 HTML 页面中隐藏 JavaScript 注释? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有没有办法隐藏生成的页面源中的 JS
  • (typeof variable === "function") 和 jQuery.isFunction() 有什么区别?

    我一直用 typeof variable function 我偶然发现jQuery isFunction 我想知道 jQuery方法中的typeof方法有什么区别 不仅有什么区别 而且 什么时候适合使用typeof方法 什么时候适合使用jQ
  • 在 React 中存储数据

    我实际上是 React 新手 无法选择在这种情况下存储数据的最佳方式是什么 我有一个包含一些输入的表单 我需要在提交时对这些输入中的所有数据执行一些操作 所有输入都存储在一个组件中 所以 我只需要在提交时获取所有数据 现在我正在尝试选择存储
  • 动态 getter 和 setter - 一种可能性

    我正在尝试解决最近出现的一个问题 假设我们想要并且知道如何在 javascript 中使用动态 getter 和 setter 就像 php 中的那样 get set 但由于 javascript 没有包罗万象的属性 我们唯一能做的就是提供
  • 将 blob 转换为 base64

    这是我想要执行的代码片段Blob to Base64 string 此注释部分有效 当由此生成的 URL 设置为 img src 时 它会显示图像 var blob items i getAsFile var URLObj window U
  • 如何在 TypeScript 中声明私有抽象方法?

    如何在 TypeScript 中正确定义私有抽象方法 这是一个简单的代码 abstract class Fruit name string constructor name string this name name abstract pr
  • 添加鼠标事件到svg ,检测网格悬停

    我有一个有点复杂的问题 我正在尝试通过 svg 渲染网格 然后将事件侦听器添加到网格中 目前我正在通过渲染网格

随机推荐

  • kafka面试题目

    kafka面试 一 Kafka中的ISR InSyncRepli OSR OutSyncRepli AR AllRepli 代表什么 二 Kafka中的HW LEO等分别代表什么 三 Kafka中是怎么体现消息顺序性的 四 Kafka中的分
  • 改写对象的行为—多态

    前言 多态 Polymorphism 按字面的意思就是 多种状态 在面向对象语言中 接口的多种不同的实现方式即为多态 引用Charlie Calverts对多态的描述 多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术 赋值之后
  • 成功解决curl: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file...

    最近在执行下述命令连接外网时 遇到了下述问题 求助多方后终于找到解决方法 很简单 未安装curl库 所以很简单 pip install curl 由于我这里已经安装过了 所以无需再安装 完美解决
  • echarts tooltip悬浮框内容显示不全,如何解决

    前言 项目使用echarts过程中 鼠标移上去 悬浮框显示的内容太多 导致显示不全 或者需要自定义显示内容时 如何解决 现在提供一个简单的方法 简单示例 代码如下 示例 tooltip trigger item enterable true
  • IDEA在MAC环境中的使用小技巧

    最近 转战MacOS的平台进行代码开发 有一天 突然发现 IDEA中同样启动一个springboot项目往往需要20多秒钟 如下截图中所示 这就让我感到比较奇怪了 因为本身机器配置也没那么差 关键 我同时还在WINDOWS平台上也正在对这个
  • 全能电子地图下载器-获取离线地图瓦片的工具

    百度网盘 1 9 5早期版本 链接 https pan baidu com s 1k9QL3mJXDus6O071HSBrHA 提取码 bib6 打开百度网盘并解压以后 你得到的东西是这些 3 0最新版本 链接 百度网盘 请输入提取码 提取
  • 竖式问题 rust解法

    竖式问题 输入一个数字集合 数字之间没有空格 找出所有形如abc de 三位数乘以两位数 的算式 在完整的竖式中 所有数字都属于这个数字集合 输出所有竖式 每个竖式前应有编号 之后应有一个空行 样例输入 2357 输出 lt 1 gt 77
  • python中add函数_如何使用python中的add函数?

    之前向大家介绍过python中的求和函数sum函数 numpy中的sum函数 对于数组可以指定维度进行相加 numpy中还有另一种求和运算方法 即add函数 add函数不仅作用于numpy中加法运算 还用于set中添加元素 本文主要向大家介
  • uniapp - APP云打包、蒲公英平台发布APP的步骤

    一 uniapp 云打包 1 注册 dcloud 开发者 首先需要注册一个 dcloud 开发者的账号 dcloud开发者中心 登录 dcloud net cn 根据流程注册即可 2 云打包 已安卓为例 项目创建完成后 查看 dcloud
  • Python连接Gbase数据库

    在数据清洗和计算方面 Python比SQL的灵活性更强 本文记录使用Python读取Gbase数据库中的数据 建立数据库连接 无论什么方法读取读取或操作数据库中的数据 首先要建立数据库连接对象 import pandas as pd imp
  • 如何学习python(附实际操作方法)

    人工智能在发展 Python作为人工智能的首选语言 自然也越来越火爆 现在 Python可以说是备受程序员欢迎的编程语言了 但是 有很多同学却不知道该从何处下手 接下来小编就跟大家聊聊吧 首先 我们要准备一台电脑 Windows7 10系统
  • parted3 Linux分区命令

    原贴地址 http www junfcom cn post 184 html Parted是一个着名的命令行工具 可以轻松管理硬盘分区 它可以帮助您添加 删除 缩小和扩展磁盘分区及其上的文件系统 从第一次出来 分手已经走了很长的路 其中一些
  • 谈谈管理者绩效管理要点

    作者 李石 链接 https www zhihu com question 19626322 answer 29165823 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 在绩效管理中衡量一个管理者的绩效与
  • 2023-05-22 题目

    1 java的泛型 泛型是jdk 5 引入的 泛型就是 引用类型作为参数 本质就是参数化类型 1 类型擦除 java的泛型基本上都是在编译器这个层次来实现的 在生成的字节码文件中是不包含泛型类中的信息的 泛型参数在编译的时候被去掉的过程叫做
  • 关于安卓系统安全性的问题

    引言 很久以前有人声称使用安卓系统不安全 称其获取的用户权限过多 太过于暴露用户的隐私 很多人在贴下反讽 只是你不会使用权限管理而已 而实际上现在 很多安卓应用程序一旦禁用了某些权限就直接限制用户的使用 完全就是一种流氓姿态 限制权限已经不
  • 前端学习路线(2023)

    这个前端学习路线看起来很详细和全面 涵盖了从基础知识到高级框架 从单机开发到全栈项目 从混合应用到原生应用 从性能优化到架构设计的各个方面 如果你能够按照这个路线学习和实践 我相信你一定能够成为一名优秀的前端工程师 不过 我也要提醒你 这个
  • ModuleNotFoundError: No module named 'encodings'

    问题描述 Fatal Python error Py Initialize unable to load the file system codec ModuleNotFoundError No module named encodings
  • 三极管和MOS管的使用及区别

    1 三极管 单片机IO口输出高电平时 三极管导通 单片机IO口输出低电平时 三极管截止 1 三极管是电流控制型元件 三极管的BE之间可以理解为存在一个二极管的通路 当给B加高电平时 BE之间就会产生持续的电流 维持三极管打开的条件就是BE之
  • 101.对称二叉树

    给定一个二叉树 检查它是否是镜像对称的 例如 二叉树 1 2 2 3 4 4 3 是对称的 1 2 2 3 4 4 3 但是下面这个 1 2 2 null 3 null 3 则不是镜像对称的 1 2 2 3 3 方法1 根左右遍历一次树得到
  • 微信小程序个人简历界面(编辑版)

    微信小程序个人简历界面 可编辑修改 包含全部源码 1 微信小程序实现简单的个人简历界面 包含基本信息 教育背景 获奖证书 兴趣爱好等 简历信息支持修改编辑内容 2 通过此文章 希望能带给更多学习微信小程序的伙伴们一点点经验 示例简洁 布局简
Powered by Hwhale