import template from "./Form.html"; import style from "antd/lib/form/style/index.css"; class Form { useModules = ["esNgAntd"]; template = template; props = { name: String, labelCol: Object, wrapperCol: Object, onFinish: Function, form: Object, }; state = { formItems: [], }; constructor() { esNgAntd.createStyle("ant-form", style); this.form = $scope; if (this.props.name) { let inputs = $element[0].querySelectorAll("input"); for (let i = 0; i < inputs.length; i++) { const element = inputs[i]; element.id = this.props.name + "_" + element.id; } } } resetFields() { this.state.formItems.forEach(function (item) { if (typeof item.setValue === "function") { item.setValue(item.defaultValue || null); } else { item.value = null; } }); } handleSubmit() { let values = {}; this.state.formItems.forEach(function (item) { let name = item.esFormItem && item.esFormItem.name; let value = item.value || item.state.value || null; values[name] = value; }); // for (let i = 0; i < inputs.length; i++) { // const element = inputs[i]; // const value = element.value === "" ? null : element.value; // if (element.id) { // if (element.id.split("_").length > 1) { // values[element.id.split("_")[1]] = value; // } else { // values[element.id] = value; // } // } // } this.props.onFinish({ values: values, }); } }