vue+element ui实现的。解释大多在代码中(代码臭且长,有错误请指正)--

代码如下:

<template>  
<div class="userList">

<el-table :data="list" border style="width: 60%;">
<el-table-column type="selection" width="60"/>
<el-table-column prop="userName" label="人物" width="300"/>
<el-table-column prop="sect" label="教派" width="300"/>
<el-table-column prop="kongfu" label="所修功法" width="300"/>
<el-table-column label="操作" width="300">
<template>
<el-button type="text" size="small" @click="handleDelete(row)">删除</el-button>
<el-button type="text" size="small" @click="handleEdit(row)">编辑</el-button>
</template>
</el-table-column>
</el-table> <el-dialog title="用户列表" :visible.sync="dialogFormVisible" width="30%" center>
弹窗组件,props传值最重要的就是在这里绑定:form="list"--这里的list是点击编辑,获取到的当前行的数据。
form则是子组件那边接受定义的数据,子组件props中可看到。
run是传过去的函数。子组件通过$emit溜过来触发,也就是子组件中this.$emit('close','')
来触发父组件中定义的事件,close就是触发@close="cancel()",@change相同
<popup :form="list" :run="run" @close="cancel()" @change="sub()"/>
</el-dialog>
</div>
</template>
<script> import popup from './popup.vue';
export default {
components: {
popup
},
data() {
return {
dialogFormVisible: false,
form: {
userName: '',
sect: '',
kongfu: '',
},
list: [
{
userName: '周芷若',
userId: '1',
sect: '峨眉',
kongfu: '九阴白骨爪'
},
{
userName: '张无忌',
userId: '2',
sect: '明教',
kongfu: '乾坤大挪移'
},
{
userName: '赵敏',
userId: '3',
sect: '朝廷',
kongfu: '有人'
},
{
userName: '张三丰',
userId: '4',
sect: '武当',
kongfu: '太极'
}
],
};
},
created() {
},
methods: {
//编辑
handleEdit(row) {
this.list = Object.assign({},row)
this.dialogFormVisible = true
},
//提交
sub(data) {
this.cancel()
},
//取消
cancel() {
this.dialogFormVisible = false
},
//删除
handleDelete(row) {
this.list.splice(row,1)
},
//测试props传递函数玩的
run() {
alert('儿子那边打开他爹这边的')
},
}
};
</script>

用户列表为element中dialog对话框,这个demo主要实现的就是父组件传值到子组件也就是传到这些个输入框中。

<template>
<div class="popup">
<el-form :data="form" ref="form" label-width="30%">
<el-form-item label="人物" prop="userName">
<el-input v-model="form.userName" placeholder="用户名称"/>
</el-form-item>
<el-form-item label="教派" prop="sect">
<el-input v-model="form.sect" placeholder="教派"/>
</el-form-item>
<el-form-item label="所修功法" prop="kongfu">
<el-input v-model="form.kongfu" placeholder="所修功法"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel()">取消</el-button>
<el-button type="primary" @click="sub()">提交</el-button>
</div>
</div>
</template> <script>
export default {
name: "popup",
接收父组件传过来数据和函数
props: {
form:{
type:Object,
dafaule : {
userName:'',
sect: '',
kongfu: '',
}
},
run:{
Function
}
},
data() {
return {
}
},
methods: {
//取消
cancel() {
this.$emit('close','');
点击取消触发父组件传过来的事件run,弹出下面的图
this.run()
},
//提交
sub() {this.$emit('change', '')
},
}
}
</script>

至此小demo就完成了。

有不足,请指正。

vue传值(小demo)的更多相关文章

  1. Vue.js小demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. iOS Block界面反向传值小demo

    1.在第二个视图控制器的.h文件中定义声明Block属性: // 定义block @property (nonatomic, copy) void (^NextViewControllerBlock) ...

  3. 一个基于ES6+webpack的vue小demo

    上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...

  4. 一个基于ES5的vue小demo

    由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...

  5. Vue.js之组件嵌套小demo

    Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...

  6. vue入门 0 小demo (挂载点、模板、实例)

    vue入门 0 小demo  (挂载点.模板) 用直接的引用vue.js 首先 讲几个基本的概念 1.挂载点即el:vue 实例化时 元素挂靠的地方. 2.模板 即template:vue 实例化时挂 ...

  7. Vue异步组件Demo

    Vue异步组件Demo 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了进一步简化,Vue.js 允许将组件定义为一个工厂函数,异步地解析组件的定义.Vue.js 只在组件需要 ...

  8. vue自学小demo----前端

    vue学习的小demo,实现简单的页面项目的增删 代码如下 <!DOCTYPE html> <html> <head> <meta charset=" ...

  9. SpringBoot-Vue实现增删改查及分页小DEMO

    前言 主要通过后端 Spring Boot 技术和前端 Vue 技术来简单开发一个demo,实现增删改查.分页功能以及了解Springboot搭配vue完成前后端分离项目的开发流程. 开发栈 前端 开 ...

随机推荐

  1. postman—UI测试

    思路 发送请求去拿到网站的响应->html 解析HTML标签,判断一些元素是否显示 目的 快速检查UI是否正确 测试地址 http://www.itest.info/courses 我们接下来要 ...

  2. C#知识点:委托、事件、正则表达式、SVN、找按段等差递增至不变序列的规律

    using System; using System.Collections.Generic; using System.Text; namespace Delegate { //定义委托,它定义了可 ...

  3. python学习_day1

    简单的输入与输出 python3.x输入 用内置函数input(),返回的数据类型是string,输出用print() 查看数据类型 用type方法 例如 a = int(input('请输入:')) ...

  4. luogu P1147 连续自然数和 x

    P1147 连续自然数和 题目描述 对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M. 例子:1998+1999+2000+2001+2002 = 10000,所以 ...

  5. Android环境配置之正式版AndroidStudio1.0

    昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...

  6. 【转】SQL Pretty Printer for SSMS 很不错的SQL格式化插件

    源地址:https://www.cnblogs.com/leospace/archive/2012/09/04/SQL_Pretty_Printer_for_SSMS.html 写SQL语句或者脚本时 ...

  7. Python 字典dict操作定义

    字典是用大括号{ }来表示,它是python中最灵活的内置数据类型.它是一个无序的集合,通过键来存取值,而不能用索引. 字典的创建和使用 字典的组成:字典是由大括号{  }来包含其数据的,大括号内包含 ...

  8. andriod\iphone视频禁止全屏播放

    x-webkit-airplay="true" x5-playsinline="true" webkit-playsinline="true" ...

  9. React-Native 之 GD (十九)TabBarItem 逻辑完善 / 关闭筛选菜单滑动手势 / Navigator 掉帧卡顿问题处理

    1.TabBarItem 逻辑完善 那么为了更好的用户体验,我们这边还需要来处理一下点击 TabBarItem 的一下细节,那就是当用户点击 Item 时,可能只是单纯的想进行页面的 切换或者置顶操作 ...

  10. kubeadm快速部署kubernetes(十九)

    安装要求 部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 ...