jeecg框架form表单组件FormSchema数组中如何给JCateGorySelect组件传当前编辑对象的id
时间: 2024-01-11 14:05:56 浏览: 134
在Jeecg框架的FormSchema数组中,可以通过以下方式给JCateGorySelect组件传当前编辑对象的id:
1. 首先,在FormSchema中定义一个隐藏域,用于存储当前编辑对象的id,例如:
```
{
"type": "hidden",
"label": "ID",
"name": "id"
}
```
2. 然后,在JCateGorySelect组件的props中定义一个dynamicProps属性,用于动态传递参数,例如:
```
{
"type": "jcateselect",
"label": "分类",
"name": "category",
"dynamicProps": {
"options": {
"url": "/api/category/list",
"params": {
"parentId": "{{formData.id}}"
}
}
}
}
```
这里使用了双括号语法,将当前编辑对象的id作为参数传递给JCateGorySelect组件的options属性中的params参数。这样,当表单中的隐藏域的值发生变化时,JCateGorySelect组件就会自动刷新选项列表,根据当前编辑对象的id获取相应的分类列表。
相关问题
jeecg框架form表单组件FormSchema数组中如何给JCateGorySelect组件传form表单的id
在Jeecg框架中,如果要向JCateGorySelect组件传递form表单的id,可以在FormSchema数组中定义一个JCateGorySelect组件,并使用`props`属性将form表单的id传递给组件。
例如,你可以在FormSchema数组中这样定义JCateGorySelect组件:
```
{
type: 'JCateGorySelect',
label: '分类',
prop: 'categoryId',
props: {
formId: 'your-form-id'
}
}
```
在上面的代码中,`props`属性中定义了一个`formId`属性,它的值为你要传递的form表单的id。
然后,在JCateGorySelect组件中,你可以使用`this.props.formId`来获取传递过来的form表单的id,例如:
```
props: {
formId: {
required: true,
type: String
}
},
mounted() {
console.log(this.props.formId)
}
```
在上面的代码中,我们在JCateGorySelect组件的`props`中定义了一个`formId`属性,并在组件的`mounted`生命周期钩子中打印出这个属性的值。
这样,当FormSchema数组中的JCateGorySelect组件被渲染时,它就会自动传递form表单的id给组件,并在JCateGorySelect组件中使用。
jeecg框架form表单组件怎么用FormSchema向子组件传值
在Jeecg框架中,你可以使用FormSchema向子组件传递值。
首先,你需要在父组件中定义FormSchema,例如:
```
<jeecg-form-schema
ref="formRef"
:schema="formSchema"
:default="formData"
>
</jeecg-form-schema>
```
然后,你需要在子组件中引入FormSchema:
```
import { FormSchema } from '@/components/Jeecg/Schema'
```
在子组件中,你可以使用FormSchema的`$emit`方法向父组件发送消息,例如:
```
this.$emit('on-change', formData)
```
在父组件中,你需要监听子组件发送的消息,例如:
```
<child-component @on-change="handleChange"></child-component>
```
然后,你需要在父组件中定义`handleChange`方法来处理子组件发送的消息,例如:
```
methods: {
handleChange(formData) {
this.$refs.formRef.setFormData(formData)
}
}
```
这样,当子组件调用`$emit`方法发送消息时,父组件就会接收到消息,并将数据更新到表单中。
阅读全文