diff --git a/components/renderers/controls/string/string-renderer.spec.ts b/components/renderers/controls/string/string-renderer.spec.ts
index 8871d3070..918faafa3 100644
--- a/components/renderers/controls/string/string-renderer.spec.ts
+++ b/components/renderers/controls/string/string-renderer.spec.ts
@@ -25,4 +25,28 @@ describe('String renderer', () => {
let input = angular.element(el[0].getElementsByClassName('jsf-control-string'));
expect(input.attr("readonly")).toBeDefined();
}));
+
+ it("should support text-areas if multi option is set", inject(($rootScope, $compile) => {
+ let scope = $rootScope.$new();
+ scope.schema = {
+ "properties": {
+ "name": {
+ "type": "string",
+ },
+ }
+ };
+ scope.uiSchema = {
+ "type": "Control",
+ "readOnly": true,
+ "scope": { "$ref": "#/properties/name" },
+ "options": {
+ "multi": true
+ }
+ };
+ scope.data = { "vegetarian": true };
+ let el = $compile('')(scope);
+ scope.$digest();
+ let input = angular.element(el[0].getElementsByClassName('jsf-control-string'));
+ expect(input.prop('tagName')).toBe("TEXTAREA");
+ }));
});
\ No newline at end of file
diff --git a/components/renderers/controls/string/string-renderer.ts b/components/renderers/controls/string/string-renderer.ts
index 67e489c15..b2a147abb 100644
--- a/components/renderers/controls/string/string-renderer.ts
+++ b/components/renderers/controls/string/string-renderer.ts
@@ -7,10 +7,18 @@ class StringRenderer implements JSONForms.IRenderer {
static inject = ['RenderDescriptionFactory'];
render(element: IControlObject, subSchema: SchemaElement, schemaPath: string, services: JSONForms.Services): JSONForms.IRenderDescription {
- var control = JSONForms.RenderDescriptionFactory.createControlDescription(schemaPath, services, element);
- control['template'] = `
-
- `;
+ let control = JSONForms.RenderDescriptionFactory.createControlDescription(schemaPath, services, element);
+
+ if (element['options'] != null && element['options']['multi']) {
+ control.template = `
+
+ `
+ } else {
+ control.template = `
+
+ `;
+ }
+
return control;
}