0

我正在为 Formio 隐藏表单的按钮组件而苦苦挣扎。我需要在我的表单中隐藏我的提交按钮。请帮忙。提前致谢

我认为唯一应该起作用的东西可以在我的代码中看到。我也尝试将它renderOptions作为一个数组放入我的数组中。还没有任何效果。

HTML:

<div>   
    <formio 
        [form]="structuredForm" 
        [submission]='{"data":formSubmission }'
        [renderOptions]="formioRenderOptions"
        hide-components="['submit', 'submit5']"> 
    </formio> 
</div>

formioRenderOption需要在这里设置隐藏按钮吗?

this.formioRenderOptions = {
  noAlerts: true,
  language: this.translateService.currentLang.replace('_', '-')
  i18n: '',
  readOnly: true,
};

我的 Formio JSON 文件有 2 个按钮:


        {
            "label": "save",
            "action": "event",
            "showValidations": false,
            "event": "saveDraftEvent",
            "theme": "primary",
            "shortcut": "",
            "disableOnInvalid": true,
            "mask": false,
            "tableView": true,
            "alwaysEnabled": false,
            "type": "button",
            "key": "submit4",
            "input": true,
            "conditional": {
                "show": "",
                "when": "",
                "json": ""
            },
            "customConditional": "",
            "properties": {},
            "tags": [],
            "logic": [],
            "defaultValue": true
        },
        {
            "label": "next",
            "action": "event",
            "showValidations": false,
            "event": "submitApplicationEvent",
            "theme": "primary",
            "shortcut": "",
            "disableOnInvalid": true,
            "mask": false,
            "tableView": true,
            "alwaysEnabled": false,
            "type": "button",
            "key": "submit5",
            "input": true,
            "conditional": {
                "show": "",
                "when": "",
                "json": ""
            },

现在我的表单是只读的,但是按钮仍然可见而不是隐藏。

4

2 回答 2

0

您可以将不想显示的组件的 hidden 属性设置为 true。

"hidden": true

如果要根据表单中其他组件的值有条件地显示或隐藏组件,则可以使用组件对象的条件属性。

"conditional": {
    "show": "",
    "when": "",
    "json": ""
},

在这里,“show”属性将保存“true”或“false”,“when”属性将保存条件,“json”属性将保存任何其他 json 验证码。

我希望这能解决你的问题。

于 2019-02-15T06:59:54.000 回答
0

您可以将 hidden 属性设置为 true,因为这里已经回答了!或者,如果您想在任何特定时间加载表单后将属性设置为隐藏,您可以执行此操作

controller: ['$scope', '$rootScope', function ($scope, $rootScope) {
         $scope.component.type='hidden';

    }],

这会将属性类型更改为

表单字段类型隐藏

于 2019-05-06T07:52:28.777 回答