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 event事件的传递与冒泡处理
Dec 06 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
Sep 17 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
iscroll动态加载数据完美解决方法
Jul 18 Javascript
Angular4如何自定义首屏的加载动画详解
Jul 26 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
浅谈webpack对样式的处理
Jan 05 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
Aug 14 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
详解微信小程序之提高应用速度小技巧
Jan 07 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
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对图像的各种处理函数代码小结
2013/07/08 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
浅析vue深复制
2018/01/29 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
python实现矩阵乘法的方法
2015/06/28 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python解析树及树的遍历
2016/02/03 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
python读取与处理netcdf数据方式
2020/02/14 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
创联软件面试题笔试题
2012/10/07 面试题
应用化学专业职业生涯规划书
2014/01/22 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
Docker官方工具docker-registry案例演示
2022/04/13 Servers
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL