我正在尝试制作一个动态表格,该表格将包含一个根据描述实体类型的预设变量而包含不同字段的字段,例如,假设该变量为vehicleType
,其可能值为{{1 }},CAR
,BOAT
等,并且根据所选择的车辆类型,形式也大不相同,因此将单个组件与大量ifs结合使用是没有意义的。
但是,所有表单都包含一些始终存在的公共字段。
我目前的想法是创建一个名为AIRPLANE
的组件,
其中将包含以下常见字段,例如(我正在使用quasar btw):
CommonFields
然后为每种表单(每个<template>
<q-field>
<q-checkbox id="enabled"
v-model="entity.enabled"
label="Enabled" />
</q-field>
<q-field>
<q-input id="desc"
type="text"
v-model="entity.desc"
label="Description" />
</q-field>
</template>
)都有一个自定义组件,该组件导入并使用vehicleType
组件。
我的问题是:这是处理此类案件的“可靠”方法吗?我主要担心的是,仅当CommonFields
组件仅在表单组件中使用时才有意义,因此将其作为组件似乎是我做错了。再仔细考虑一下,如果在任何时候需要对它们进行响应的话,我都必须将数据/属性从根组件传递到CommonFields
组件。有没有一种方法可以自行定义模板然后注入模板,就像指令上的angularjs 1.x CommonFields
属性一样。