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实现iframe动态调整高度的代码
Jan 06 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
JQquery的一些使用心得分享
Aug 01 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
javascript实例分享---具有立体效果的图片特效
Jun 08 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
JS获取本地地址及天气的方法实例小结
May 10 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
微信小程序实现拼图小游戏
Oct 22 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
压力如何影响浓缩咖啡品质
2021/03/03 咖啡文化
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
前端微信支付js代码
2016/07/25 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
让python在hadoop上跑起来
2016/01/27 Python
Python制作简易注册登录系统
2016/12/15 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
numpy数组广播的机制
2019/07/12 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
Python基于template实现字符串替换
2020/11/27 Python
python中os.remove()用法及注意事项
2021/01/31 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
医院后勤自我鉴定
2013/10/13 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android