Vue2.x通用编辑组件的封装及应用详解


Posted in Javascript onMay 28, 2019

本文实例为大家分享了Vue2.x通用编辑组件的封装及应用,供大家参考,具体内容如下

效果

 Vue2.x通用编辑组件的封装及应用详解

组件源码

<template>
 <div class="edit-input">
 <div class="editBox">
  <div>
  <span class="list">{{ name }}:</span>
  <span class="listValue" v-if="!editStatus">{{value}}</span>
  </div>
  <span class="editLogo iconfont icon-Edit" @click="editStatus = !editStatus" v-if="!editStatus"></span>
  <div class="edit" v-if="editStatus">
  <el-input v-model="newValue" :placeholder="placeholderDes"></el-input>
  <span class="confirmEdit" @click="changeValue">√</span>
  <span class="cancel" @click="editStatus = !editStatus">×</span>
  </div>
 </div>
 </div>
</template>

<script>
import '@/common/font/iconfont.css'
export default {
 props: {
 name: {
  type: String,
  require: true
 },
 value: {
  type: String,
  require: true
 },
 placeholderDes: {
  type: String,
  default: ''
 }
 },
 data () {
 return {
  newValue: '',
  editStatus: false
 }
 },
 methods: {
 changeValue () {
  this.$emit('valueChange', this.newValue)
  this.editStatus = false
 }
 }
}
</script>

<style lang="less" scoped>
.edit-input {
 .editBox {
 display: flex;
 margin-top: 10px;
 text-align: center;
 .list {
  color: #909399;
  font-size: 14px;
  line-height: 40px;
  display: inline-block;
  }
  .listValue {
  color: #303133;
  font-size: 14px;
  line-height: 26px;
  }
 .editLogo {
  color: #2695E4;
  padding-top: 12px;
  padding-left: 10px;
 }
 .edit{
  height: 50px;
  width: 260px;
  .confirmEdit {
  margin-left: 4px;
  width: 20px;
  height: 36px;
  display: inline-block;
  color: #67c23a;
  font-size: 20px;
  cursor: pointer;
  }
  .cancel {
  color: #929398;
  font-size: 20px;
  margin-left: 6px;
  cursor: pointer;
  width: 20px;
  height: 36px;
  display: inline-block;
  font-size: 26px;
  &:hover {
   color: #fa5555;
  }
  }
  .el-input {
  width: 200px;
  }
 }
 }
}
</style>

父组件中引用

<template>
 <div class="test">
 <v-edit-input placeholderDes="请输入新名称" name="测试名称" value="哈哈哈哈" @valueChange="changeValue"></v-edit-input>
 </div>
</template>

<script>
import VEditInput from '@/components/Common/EditInput'
export default {
 components: {
 VEditInput
 },
 methods: {
 changeValue (newVal) {
  // newVal即为修改后的新值,接下来用来与后端交互即可。
 }
 }
}
</script>

注:组件源码中import '@/common/font/iconfont.css'目的是为了引入编辑图标,图标使用于iconfont官网使用svg制作,实际应用时请删除此行代码,改为你自己的图标,即给.editLogo加个背景图即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
Aug 08 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
Javascript中replace()小结
Sep 30 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
Jan 19 Javascript
BootStrap响应式导航条实例介绍
May 06 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
利用JS判断客户端类型你应该知道的四种方法
Dec 22 Javascript
js实现抽奖功能
Nov 24 Javascript
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 #jQuery
小程序多图列表实现性能优化的方法步骤
May 28 #Javascript
实例详解带参数的 npm script
May 28 #Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 #jQuery
Vue2.x通用条件搜索组件的封装及应用详解
May 28 #Javascript
jquery操作select常见方法大全【7种情况】
May 28 #jQuery
vue实现条件叠加搜索的解决方法
May 28 #Javascript
You might like
PHP求最大子序列和的算法实现
2011/06/24 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
教师个人自我鉴定
2014/02/08 职场文书
给小学生的新年寄语
2014/04/04 职场文书
优秀党员推荐材料
2014/12/18 职场文书
读书笔记格式
2015/07/02 职场文书