【发布时间】:2018-04-27 10:12:49
【问题描述】:
我需要异步动态加载(部分)表单架构。 例如,我想在 REST 调用之后创建架构。
我开始使用vue-form-generator, 我试图操纵架构创建一个组件:
- 创建带有标签
Name-TEST-failed的文本输入 - 异步调用改变
Name-TEST-success中标签的函数
代码:
<template>
<div class="panel-body">
<vue-form-generator :schema="schema" :model="model" :options="formOptions"></vue-form-generator>
</div>
</template>
<script>
import Vue from 'vue';
import VueFormGenerator from "vue-form-generator";
Vue.use(VueFormGenerator);
export default {
created(){
setTimeout(() => {
console.log("start!");
Vue.set(this.$data.schema.fields,
[{
type: "input",
inputType: "text",
label: "Name-TEST-success",
model: "name",
placeholder: "Your name",
featured: true,
required: true
}]
)
console.log("end!");
}, 1000);
},
data() {
return {
model: {
name: "John Doe"
},
schema: {
fields: [{
type: "input",
inputType: "text",
label: "Name-TEST-failed",
model: "name",
placeholder: "Your name",
featured: true,
required: true
}]
},
formOptions: {
validateAfterLoad: true,
validateAfterChanged: true
}
}
}
}
</script>
消息start! 和end! 都出现在控制台中,但输入测试的标签没有改变。
如何动态更改架构(和模型)?
【问题讨论】:
标签: vue.js