vue组件获取props中的数据并绑定到form表单 el-form-item的v-model中方法

ops/2024/11/8 13:06:09/

vue的组件的form表单中, 我们可以直接使用props中传递的数据,如: <el-form-item label="姓名:">{{ value.real_name }} </el-form-item> 这里的value是通过props传递来的 const props = defineProps({value: {type: [Object, String],required: true} }) , 但是如果我们想要将props传递来的数据直接绑定到 表单的 formData.xxx 中, 这就需要借助 vue生命周期函数onBeforeUpdate来将prpos的数据和formData中的数据进行绑定了.

这时如果在定义时直接使用 props中的值,如 const formData = reactive({status: props.value.status }) 这样是行不通的,因为这个props数据的传递时间是在组件被创建之后,在使用的时候才有的.

props数据绑定到form表单v-model示例代码

正确的做法是在数据更新之前我们在将props的数据和formData进行绑定, 示例代码如下:

<template><el-form ref="formRef" :model="formData" ><el-form-item label="名称:">{{ value.name }} </el-form-item><el-form-item label="状态" required prop="status"><el-radio-group v-model="formData.status"><el-radiov-for="(item, idx) in user_status":key="idx":value="parseInt(item.value)">{{ item.name }}</el-radio></el-radio-group></el-form-item>
</el-form></template><script lang="ts" setup>// 引入生命周期函数
import { onBeforeUpdate } from 'vue'const props = defineProps({show: {type: Boolean,required: true},value: {type: [Object, String],required: true}
})const formData = reactive({status: 0
})// 注册一个钩子,在组件即将因为响应式状态变更而更新其 DOM 树之前调用。
onBeforeUpdate(() => {if (props.value?.status !== undefined) {// 绑定props数据到formDataformData.status = props.value?.status}
})</script>

总结:vue中的props传递来的数据在form表单里面是可以直接显示的,但是如果需要绑定到formData表单数据中的话就需要借助vue生命周期函数onBeforeUpdate在数据更新之前将props中的数据和formData进行绑定。


http://www.ppmy.cn/ops/131934.html

相关文章

XML标记语言

最近在学XXE-XML外部实体注入漏洞时候&#xff0c;浅浅学习了一下XML&#xff0c;谨做此学习笔记。 目录 一&#xff1a;XML概述 二&#xff1a;XML语法 XML中的CDATA 三&#xff1a;使用PHP解析XML文档 添加节点 四&#xff1a;Xpath语言 绝对查找 相对查找 使用*匹配…

如何在 Java 中使用 Canal 同步 MySQL 数据到 Redis

文章目录 一、引言二、工作原理1. MySQL主备复制原理2. canal 工作原理 三、环境准备1. 安装和配置 MySQL2. 安装和配置 Canal3. 安装和配置 Redis 四、开发 Java 应用1. 添加依赖2. 编写 Canal 客户端代码3. 运行和测试3.1 启动 Canal 服务&#xff1a;3.2 启动 Redis 服务&am…

全星魅-物联网定位终端-北斗定位便携终端-北斗有源终端

在当今快速发展的物流运输行业中&#xff0c;精准定位与实时监控已成为确保货物安全与高效运输的关键因素。为了满足这一需求&#xff0c;QMCZ10作为一款集4G&#xff08;LTE Cat1&#xff09;通讯技术与智能定位功能于一体的终端产品&#xff0c;应运而生。它不仅具备普通定位…

【算法与数据结构】【链表篇】【题1-题5】

题1.从尾到头打印链表 题目&#xff1a;输入一个链表的头结点&#xff0c;从尾到头反过来打印出每个节点的值。链表的定义如下&#xff1a; struct ListNode {int mValue;ListNode *mNext;ListNode *mPrev; }; 1.1 方法一&#xff1a;栈 思路&#xff1a;要反过来打印&…

爬虫-------字体反爬

目录 一、了解什么是字体加密 二. 定位字体位置 三. python处理字体 1. 工具库 2. 字体读取 3. 处理字体 案例1:起点 案例2:字符偏移: 5请求数据 - 发现偏移量 5.4 多套字体替换 套用模板 版本1 版本2 四.项目实战 1. 采集目标 2. 逆向结果 一、了解什么是…

qt QTextCursor详解

1、概述 QTextCursor是Qt框架中用于在QTextDocument或QTextEdit中编辑和导航文本的类。它提供了对文本选择和编辑操作的低级控制&#xff0c;允许插入、删除、修改文本以及改变文本的格式。QTextCursor可以看作是一个在文本中移动的插入点或选择区域&#xff0c;通过它可以执行…

微信小程序uniapp基于Android的流浪动物管理系统 70c3u

文章目录 项目介绍具体实现截图技术介绍mvc设计模式小程序框架以及目录结构介绍错误处理和异常处理java类核心代码部分展示详细视频演示源码获取 项目介绍 以往流浪猫狗的救助网站相关信息的管理&#xff0c;都是工作人员手工统计。这种方式不但时效性低&#xff0c;而且需要查…

G1垃圾回收器日志详解

新生代收集 GC pause (G1 Evacuation Pause) (young) -- gc前堆内存分布情况 {Heap before GC invocations1592 (full 4):garbage-first heap total 6291456K, used 5011297K [0x0000000640000000, 0x0000000640206000, 0x00000007c0000000) --表示使用了G1,堆大小&…