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 innerHTML 改变div内容的方法
Aug 03 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
javascript页面渲染速度测试脚本分享
Apr 15 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
May 05 Javascript
input标签内容改变的触发事件介绍
Jun 18 Javascript
原生Javascript封装的一个AJAX函数分享
Oct 11 Javascript
js的touch事件的实际引用
Oct 13 Javascript
JavaScript获取页面中第一个锚定文本的方法
Apr 03 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 Javascript
vue父组件向子组件传递多个数据的实例
Mar 01 Javascript
基于angular实现树形二级表格
Oct 16 Javascript
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中实现精确设置session过期时间的方法
2014/07/17 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
js回调函数仿360开机
2019/12/26 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
python操作CouchDB的方法
2014/10/08 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
Python 互换字典的键值对实例
2019/02/12 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
力学专业毕业生自荐信
2013/11/17 职场文书
保安岗位职责
2014/02/21 职场文书
公司建议书怎么写
2014/05/15 职场文书
白莲教口号
2014/06/18 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
会议简报格式范文
2015/07/20 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers