React Form Methods
beginUpdate()
Prevents the UI component from refreshing until the endUpdate() method is called.
The beginUpdate() and endUpdate() methods prevent the UI component from excessive updates when you are changing multiple UI component settings at once. After the beginUpdate() method is called, the UI component does not update its UI until the endUpdate() method is called.
See Also
defaultOptions(rule)
defaultOptions is a static method that the UI component class supports. The following code demonstrates how to specify default properties for all instances of the Form UI component in an application executed on the desktop.
jQuery
DevExpress.ui.dxForm.defaultOptions({ device: { deviceType: "desktop" }, options: { // Here go the Form properties } });
Angular
import Form from "devextreme/ui/form"; // ... export class AppComponent { constructor () { Form.defaultOptions({ device: { deviceType: "desktop" }, options: { // Here go the Form properties } }); } }
Vue
<template> <div> <DxForm id="form1" /> <DxForm id="form2" /> </div> </template> <script> import DxForm from "devextreme-vue/form"; import Form from "devextreme/ui/form"; Form.defaultOptions({ device: { deviceType: "desktop" }, options: { // Here go the Form properties } }); export default { components: { DxForm } } </script>
React
import React, {useEffect} from "react"; import dxForm from "devextreme/ui/form"; import Form from "devextreme-react/form"; export default function App() { useEffect(() => { dxForm.defaultOptions({ device: { deviceType: "desktop" }, options: { // Here go the Form properties } }) }); return ( <div> <Form id="form1" /> <Form id="form2" /> </div> ) }
dispose()
After calling this method, remove the DOM element associated with the UI component:
$("#myForm").dxForm("dispose"); $("#myForm").remove();
Use this method only if the UI component was created with jQuery or pure JavaScript. In Angular, Vue, and React, use conditional rendering:
Angular
<dx-form ... *ngIf="condition"> </dx-form>
Vue
<template> <DxForm ... v-if="condition"> </DxForm> </template> <script> import DxForm from 'devextreme-vue/form'; export default { components: { DxForm } } </script>
React
import React from 'react'; import Form from 'devextreme-react/form'; function DxForm(props) { if (!props.shouldRender) { return null; } return ( <Form ... > </Form> ); } class App extends React.Component { render() { return ( <DxForm shouldRender="condition" /> ); } } export default App;
See Also
getEditor(dataField)
The following code shows how to get an editor of an item in a group:
var form = $(function () { $("#formContainer").dxForm({ formData: { firstName: "John", lastName: "Heart", phone: "+1(213) 555-9392", email: "jheart@dx-email.com" }, items: ["firstName", "lastName", { itemType: "group", caption: "Contacts", items: ["phone", "email"] }] }).dxForm("instance"); $("#buttonContainer").dxButton({ text: "Customize Phone Editor", onClick: function (e) { var editor = form.getEditor("phone"); // Customizations go here } }); });
See Also
getInstance(element)
getInstance is a static method that the UI component class supports. The following code demonstrates how to get the Form instance found in an element with the myForm
ID:
// Modular approach import Form from "devextreme/ui/form"; ... let element = document.getElementById("myForm"); let instance = Form.getInstance(element) as Form; // Non-modular approach let element = document.getElementById("myForm"); let instance = DevExpress.ui.dxForm.getInstance(element);
See Also
itemOption(id, option, value)
The following code shows how to call this method for an item organized in a group:
$(function () { const form = $("#formContainer").dxForm({ formData: { firstName: "John", lastName: "Heart", phone: "+1(213) 555-9392", email: "jheart@dx-email.com" }, items: ["firstName", "lastName", { itemType: "group", caption: "Contacts", name: "groupName", items: ["phone", "email"] }] }).dxForm("instance"); });
form.itemOption("groupName.phone", "visible", false); // ==== or ==== form.itemOption("Contacts.phone", "visible", false);
When you modify an item, the Form also refreshes all other items in its group. If an item is not in a group, the whole Form is refreshed. To update only your chosen items, wrap them into a separate group.
See Also
registerKeyHandler(key, handler)
A handler. Accepts the keydown event as the argument. It is a EventObject or a jQuery.Event when you use jQuery.
The key argument accepts one of the following values:
- "backspace"
- "tab"
- "enter"
- "escape"
- "pageUp"
- "pageDown"
- "end"
- "home"
- "leftArrow"
- "upArrow"
- "rightArrow"
- "downArrow"
- "del"
- "space"
- "F"
- "A"
- "asterisk"
- "minus"
A custom handler for a key cancels the default handler for this key.
See Also
updateData(data)
Merges the passed data
object with formData. Matching properties in formData are overwritten and new properties added.
updateDimensions()
A Promise that is resolved after the update is completed. It is a native Promise or a jQuery.Promise when you use jQuery.
validate()
Validates the values of all editors on the form against the list of the validation rules specified for each form item.
If you have technical questions, please create a support ticket in the DevExpress Support Center.