#html #angular #typescript
#HTML #angular #typescript
Вопрос:
вот мой код…
custom_formio.component.ts
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { FormioAuthService } from 'angular-formio/auth';
import { Formio } from 'formiojs';
import { SelectComponent } from './Select';
@Component({
selector: 'app-custom_formio',
templateUrl: './custom_formio.component.html',
styleUrls: ['./custom_formio.component.less']
})
export class CustomFormioComponent {
builder: any;
title = 'app';
offlineCount = 0;
offlineMode: any = null;
offlineError = '';
constructor(private auth: FormioAuthService, private router: Router) {
this.auth.onLogin.subscribe(() => {
this.router.navigate(['/home']);
});
this.auth.onLogout.subscribe(() => {
this.router.navigate(['/auth/login']);
});
this.auth.onRegister.subscribe(() => {
this.router.navigate(['/home']);
});
Formio.registerComponent('custom_formio', SelectComponent);
}
}
В этом SelectComponent находится мой пользовательский компонент formio, созданный в Select.js это будет доступно по адресу https://formio.github.io/formio.js/docs/file/src/components/select/Select.js.html#lineNumber36 и к этому я добавил некоторый код, подобный приведенному ниже..
// Use the table component edit form.
SelectComponent.editForm = TableComponent.editForm;
// Register the component to the Formio.Components registry.
Components.addComponent('custom_formio', SelectComponent);
Formio.builder(document.getElementById('builder'), {}, {
builder: {
basic: false,
advanced: false,
data: false,
layout: false,
customBasic: {
title: 'Basic Components',
default: true,
weight: 0,
components: {
select: true
}
}
}
}).then(function(builder) {
Formio.createForm(document.getElementById('formio'), {}).then(function(instance) {
var json = document.getElementById('json');
instance.on('change', function() {
json.innerHTML = '';
json.appendChild(document.createTextNode(JSON.stringify(instance.submission, null, 4)));
});
builder.on('change', function(schema) {
if (schema.components) {
instance.form = schema;
}
});
});
});
теперь я хочу отобразить это в html как идентификатор, для этого я был создан в конце приведенного выше кода, такого как Formio.builder(document.getElementById(‘builder’), {},{}
в html я называю этот идентификатор как …
<div id="builder"></div>
но я получаю не удается прочитать свойство ‘builder’ неопределенное .. может кто-нибудь подсказать, как это решить….