You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
6.**Cross Axis Maring:** This refers to the space or gap along the cross direction of the scrollbar. For instance, in a vertically scrolling list, it refers to the left and right spacing, and in a horizontally scrolling list, it refers to the top and bottom spacing.
259
+
6.**Cross Axis Margin:** This refers to the space or gap along the cross direction of the scrollbar. For instance, in a vertically scrolling list, it refers to the left and right spacing, and in a horizontally scrolling list, it refers to the top and bottom spacing.
Copy file name to clipboardExpand all lines: docs/ff-concepts/state-management/state-variables.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,5 +49,14 @@ You can learn more about state management from this video:
49
49
:::
50
50
51
51
52
+
## Rebuild [Action]
52
53
54
+
The **Rebuild** action allows you to refresh a page or a component’s UI. This is especially useful when data changes dynamically; for example, after an API call, a database update, a custom action, or a class method modifies the internal state, and you want the latest data or UI state to be reflected instantly.
53
55
56
+
The Rebuild action provides different update types depending on where it is used:
57
+
58
+
-**Rebuild Page:** When on a page, you will see the **Rebuild Current Page** option, which refreshes the entire page’s UI.
59
+
-**Rebuild Component:** When on a component, you will see the **Rebuild Current Component** option, which refreshes only that specific component.
60
+
-**Rebuild Containing Page:** When on a component, you will see this option as well, which refreshes the entire page that contains the component. For example, if you have a **"Confirm"** button inside a dialog component that updates an order’s status, selecting this action will refresh the parent page to instantly show the updated order list.
Copy file name to clipboardExpand all lines: docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -410,6 +410,15 @@ To autofocus a TextField, select the TextField widget, move to the **Properties
410
410
</div>
411
411
<p></p>
412
412
413
+
### Enable Interactive Selection
414
+
415
+
The **Enable Interactive Selection** toggle controls whether users can interact with the text selection features, such as long-press selection, copy/paste menus, and selection handles.
416
+
417
+
By default, this property is set to **True**, allowing users to select, copy, and paste text using the platform's built-in text selection controls. Disabling this can help prevent unintended text copying or editing, especially in sensitive fields.
You might want to allow users to enter the text by suggesting them a list of items. The suggested items are shown if it contains the currently entered text from TextField. For example, using autocomplete to get the *Country**name*, *Fruit**name*, etc.
Copy file name to clipboardExpand all lines: docs/resources/data-representation/app-state.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,6 +114,10 @@ Here's a quick guide to updating the app state variable. We need to add an actio
114
114
</iframe>
115
115
</div>
116
116
117
+
:::tip
118
+
If you want to rebuild a page or component without updating any state variables, use the [**Rebuild**](../../ff-concepts/state-management/state-variables.md#rebuild-action) state action.
Copy file name to clipboardExpand all lines: docs/resources/projects/libraries.md
+46-3Lines changed: 46 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -253,17 +253,17 @@ You can easily upgrade to newer versions of the libraries as they become availab
253
253
254
254
## Library Pages
255
255
256
-
You can also add and manage pages within a library, making it easy to reuse those pages across multiple projects. These pages function like any regular project page in your app; they support navigation, parameters, state management, and transitions.
256
+
When you publish a library, all the pages included in the library become available for use in the consumer project. These pages function like any regular project page in your app; they support navigation, parameters, state management, and transitions.
257
257
258
-
Including pages with libraries offers a modular approach to development, making it ideal for large teams and complex, multi-feature apps. For example, instead of recreating common flows like onboarding and payment flows, you can build them in a library once and use them wherever needed.
258
+
Library Pages offers a modular approach to development, making it ideal for large teams and complex, multi-feature apps. For example, instead of recreating common flows like onboarding and payment flows, you can build them in a library once and use them wherever needed.
259
259
260
260
:::tip[Possible Use Cases]
261
261
-**Super Apps** like Gojek and Uber with distinct modules such as ride booking, shopping, and payments. Each module can be developed as a separate library and imported into a single main project.
262
262
-**Enterprise Apps** with isolated user journeys for different roles, such as admin and customer. Each role-based flow can be built as its own library and integrated into the core app as needed.
263
263
-**White-labeled Apps** that share common onboarding flows can benefit from libraries. The onboarding process can be built once as a library and reused across all branded versions of the app.
264
264
:::
265
265
266
-
The library author selects which pages to include and publishes the library. When users import or update the library, they can override the default route names to prevent conflicts between the library and their project. Library pages then appear in navigation actions just like any regular page.
266
+
When users import or update the library, they can override the default route names to prevent conflicts between the library and their project. Library pages then appear in navigation actions just like any regular page.
267
267
268
268
<div style={{
269
269
position: 'relative',
@@ -291,7 +291,50 @@ The library author selects which pages to include and publishes the library. Whe
291
291
</div>
292
292
<p></p>
293
293
294
+
### Library Pages in NavBar
294
295
296
+
Library pages can also be used in the NavBar, allowing users to add reusable flows into the app’s primary navigation structure. For example, in a Super App, you can import ride booking, food delivery, or payment pages from separate libraries and add them directly to the bottom navigation, giving users quick access to each module.
297
+
298
+
:::tip
299
+
Want to learn more about building modular Super Apps using libraries? Check out our [**blog post**](https://blog.flutterflow.io/scaling-super-apps-modular-architecture-with-flutterflow-libraries/).
300
+
:::
301
+
302
+
To display a library page on the NavBar, navigate to **Project Dependencies > FlutterFlow Libraries**, then click on **Pages** for the relevant library to open its details. In the list of pages, locate the desired page and click **Nav Bar Settings**, then enable **Show on NavBar**. You can also customize additional settings, such as label and icon, as needed.
303
+
304
+
To confirm, go to the **Nav Bar & App Bar** section, where you’ll see the library page listed as part of the NavBar items.
305
+
306
+
:::info
307
+
NavBar settings for regular pages are available directly within the Page Settings panel in the builder. However, for Library pages, these settings are managed through the Library Details dialog.
Copy file name to clipboardExpand all lines: docs/resources/ui/components/component-lifecycle.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -249,6 +249,10 @@ Type** property in your Action properties. Here's what it means:
249
249
-**No Rebuild:** Choose this option when you need to update the state value without
250
250
immediately reflecting the changes in the UI.
251
251
252
+
:::tip
253
+
If you want to rebuild a component without updating any state variables, use the [**Rebuild**](../../../ff-concepts/state-management/state-variables.md#rebuild-action) state action.
254
+
:::
255
+
252
256
:::warning[Expensive Rebuilds]
253
257
Too many rebuilds can impact performance because rebuilding the widget tree
254
258
frequently consumes resources and may lead to decreased responsiveness and
Copy file name to clipboardExpand all lines: docs/resources/ui/pages/page-lifecycle.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -327,13 +327,17 @@ update, create a new Action called **Update Page State**.
327
327
When updating your page state in Flutter, you'll often come across the **Update
328
328
Type** property in your Action properties. Here's what it means:
329
329
330
-
**Rebuild Current Type:** This option triggers a re-rendering of the page,
330
+
**Rebuild Current Page:** This option triggers a re-rendering of the page,
331
331
ensuring
332
332
that any changes to the state are reflected in the user interface (UI).
333
333
334
334
**No Rebuild:** Choose this option when you need to update the state without
335
335
immediately reflecting the changes in the UI.
336
336
337
+
:::tip
338
+
If you want to rebuild a page without updating any state variables, use the [**Rebuild**](../../../ff-concepts/state-management/state-variables.md#rebuild-action) state action.
339
+
:::
340
+
337
341
:::warning[Expensive Rebuilds]
338
342
Too many rebuilds can impact performance because rebuilding the widget tree
339
343
frequently consumes resources and may lead to decreased responsiveness and
0 commit comments