当前位置: 首页 > news >正文

vue中怎么自定义组件

目录

一:功能描述

二:实现过程


一:功能描述

在开发过程中我们经常需要自定义组件完成特定的功能,比如用户详情页,我增加一个调整余额的按钮,点击以后需要打开一个调整余额对话框,输入调整的金额大小,完成以后关闭弹框同时刷新页面,要怎么实现呢。具体实现是增加一个调整余额弹框的自定义组件组件,包含一个调整按钮,点击按钮就打开这个对话框,里面利用watch监听用户的余额和用户id等信息,同时使用watch回调实时更新余额信息等。

二:实现过程

首先定义弹框组件

export default class LsUserChange extends Vue {

定义三个变量:

@Prop() value?: number
@Prop() type?: number // 变动类型:1-用户金额
@Prop() userId?: number // 用户id

监听变量,并回调函数赋值

@Watch('userId', {immediate: true
})
getuserId(val: any) {// 初始值//this.form.value = valthis.$set(this.form, 'user_id', val)
}@Watch('value', {immediate: true
})
getValue(val: any) {// 初始值//this.form.value = valthis.$set(this.form, 'value', val)
}@Watch('type', {immediate: true
})
getType(val: any) {// 变动类型:1-用户金额;if (val == 1) {this.typeName = '金额'this.$set(this.form, 'type', val)} 
}

2:调整按钮和调用组件

引用组件:

import LsUserChange from '@/components/user/ls-user-change.vue'
<ls-user-changetitle="余额调整":value="user_info.user_redpacket":type="1":userId="user_id"@refresh="userDetail"
><el-button type="text" slot="trigger" size="small" :disabled="user_info.user_delete">调整</el-button>
</ls-user-change>

这里的refresh后的方法组件刷新的方法,可以在调整完余额后刷新用户最新余额信息

userDetail() {apiUserDetail({user_id: this.user_id}).then((res: any) => {this.user_info = res.user_infothis.transaction = res.transaction}).catch((res: any) => {})
}

3:在余额弹框离调整完余额要调用刷新方法

this.$emit('refresh')

http://www.lryc.cn/news/420050.html

相关文章:

  • BM1反转链表[栈+头插法]
  • VisionPro二次开发学习笔记10-使用 PMAlign和Fixture固定Blob工具检测孔
  • 学单片机怎么在3-5个月内找到工作?
  • 探索设计模式:观察者模式
  • gradio之持续输入,持续输出(流式)
  • Git 常用命令指南:从入门到精通
  • Camera驱动 汇总表【小驰行动派】
  • SSRS rdlc报表 九 在.net core中使用RDLC报表
  • 力扣(2024.08.10)
  • Django-文件上传
  • [Meachines] [Easy] valentine SSL心脏滴血+SSH-RSA解密+trp00f自动化权限提升+Tmux进程劫持权限提升
  • 利用单张/多张图内参数标定 OpenCV Python
  • The Llama 3 Herd of Models 第7部分视觉实验部分全文
  • 亚信安慧AntDB-T:使用Brin索引提升OLAP查询性能以及节省磁盘空间
  • web渗透测试常用命令
  • Kylin系列(二)使用
  • CI/CD——CI持续集成实验
  • 2.4 大模型数据基础:预训练阶段数据详解 ——《带你自学大语言模型》系列
  • Kali Linux——网络安全的瑞士军刀
  • UML建模-测试用例
  • Python知识点:如何使用Socket模块进行网络编程
  • 培训第二十一天(mysql用户创建与授权、角色创建)
  • makefile基本语法
  • 白骑士的PyCharm教学实战项目篇 4.4 大数据处理与分析
  • 无人机之民用无人机用途分类篇
  • Android10 修改设备名称
  • go testing 包
  • 基于phpstudy的靶场搭建和github加速
  • 【数据结构】Map与Set
  • Flamingo: a Visual Language Model for Few-Shot Learning