关于v-model动态绑定多层级的属性名
因为我想做一个自动生成表单的组件,然后绑定初始值时,希望通过对象的层级关系去绑定v-model,这样最后提交的数据,也将是带有层级的对象数据。
<template> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="即时配送"> <el-switch v-model="form.delivery.value" /> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">立即创建</el-button> <el-button>取消</el-button> </el-form-item> </el-form></template><script>export default { props: { modelProps: { type: String, default: '' } }, data() { return { form: { delivery: { value: false }, role: { id: 1, name: '测试' } } } }, methods: { onSubmit() { console.log(this.form) } }}</script>
假如modelProps
接收到一个值是字符串"role.id"
,那我希望v-model可以变成form.role.id
,如果接收到一个值是字符串"role.name"
,希望v-model可以变成form.role.name
类似于这样的
补充: 然后提交的数据也要有对应的层级结构:
{ delivery: {value: true}}
{ role: {id: 1}}
{ role: {name: 'hello'}}
实际有点难实现这个需要,希望大家能够给我一些思路,或者其它的实现方式
<template> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="即时配送"> <el-switch v-model="modelValue" /> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">立即创建</el-button> <el-button>取消</el-button> </el-form-item> </el-form></template><script>export default { props: { modelProps: { type: String, default: '' } }, data() { return { form: { delivery: { value: false }, role: { id: 1, name: '测试' } } } }, computed: { modelPropsArray() { return this.modelProps.split('.'); }, modelValue: { get() { return this.modelPropsArray.reduce((obj, key) => obj[key], this.form); }, set(value) { let obj = this.form; const keys = [...this.modelPropsArray]; while (keys.length > 1) { const key = keys.shift(); obj = obj[key]; } obj[keys[0]] = value; } } }, methods: { onSubmit() { console.log(this.form) } }}</script>
示例代码如下: 我想通过key动态的绑定processInfo的属性,但是这样不生效,请问各位大佬有什么解决办法?
FXJXM的数量跟normal的数量是一样的。请问v-for渲染el-radio-group的时候,v-model怎么绑定
问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将字段序列化为类似的内容,而不是总是根据情况包含一个称为不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义序列
问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将该字段序列化为类似的内容,而不是总是根据情况将字段称为包含不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义
我需要创建一个插件,提供一个交互式任务,调用方式如下: 在这里,参数应该是用于分析的项目中的配置的名称。 然而,这种分析需要从配置中计算一些数据,这可能很昂贵。因此,我想缓存这些数据,但是,很自然,在配置内容发生变化(例如用户添加了依赖项)的情况下,缓存会失效。理想情况下,我会利用内置的Gradle任务依赖机制,它将跟踪任务依赖关系,并允许不运行计算,除非其输入发生变化。 这是我想出的解决方案,但
本文向大家介绍js中动态创建json,动态为json添加属性、属性值的实例,包括了js中动态创建json,动态为json添加属性、属性值的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 在js中,一个[]认为是数组;{}认为是Json对象; var json = {}; 定义一个Json对象; 为Json对象赋值: json[aa] = "xx"; eval 解析json报错 提示缺少“