![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a76ab0b38dd97af733d9e4_66a24856cfe5838097388c4e_NKKAdE9G-ZAfN45y.gif)
In this tutorial, we'll walk through the process of creating a multi-page feedback form in FlutterFlow. The form will include three pages: Rate Experience, Share Feedback, and Thank You Gift. We'll use the PageView widget to navigate between pages and add controls for smooth transitions.
Setting Up the Component
First, let's create a component that will house our PageView widget and the control buttons for navigation.
Step 1: Create the Main Component
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23feb8fe1f45d600d5c5c_AD_4nXfSMKi_j6HWMcYShSlz5lcGQ6rwYYvvtHmKZ9VcTlsVqMq7vfYIT5yhE5mXMJsgCn5Jt48NhRk3i9hfOuWWIUQ0vdJ5MaC1Fh2zP6mctOipLmw2lCsk_b8mPzLEiEJWCMOVBlH0-wQna7Hpk2enU9Bc8gs.png)
In FlutterFlow, start by creating a new component for the feedback form. This component will include a PageView widget to manage the pages and a Row widget for the control buttons.
Pro Tip:
The Row that contains the buttons is designed to prevent the controls from moving when navigating between pages with the PageView.
About the PageView Structure
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23feb45f0bea3d3a271d9_AD_4nXdZ61OaK9oSFtZl6Ym1LSy9_BqJhsbd87SMpMYgDx47WublfqKmqUyvWg5bkaT_fjcwAaqL1_jXbMMFP5V1AnOVP5TNnF2IEDY9rbEI8l0Ak-pVQHEKGBpMNqDOVQKLcXTDzgnH2DZJ8_Ec3b2bM5yi9KQy.png)
Our PageView will contain three different pages, controlled by the PageView index through the component's buttons.
Step 2: Create the Rate Experience Page
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23feb6a2833770c8cdf32_AD_4nXfJn3p3ijpTuJUT36IwTKANe2LvQ6DG67jAZJxtj1m5sKl25D766oIc8_AKxjTnVHC8hlzlLxFqB3Z0y8noVtX4338csytRuNi16c6Ru5WEcHCV6BQ3YrxCoF7_OO1SyTyrjHEVNNqL1kleU_hCkUo-He3C.png)
The first page will be the Rate Experience page. Here, we'll use a widget that can only be used on the web (MouseRegion). This widget identifies when the mouse is within a region and executes an action (animation). If the user clicks, we update the local component state (e.g., mood).
Step 3: Create the Share Feedback Page
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23feb9095e1fd6b91eaa3_AD_4nXeCv-gW4tbybRJmhEU1Crf1st6P08v1Woy8JbC2OI2pjUQO7a0gVOF8ORhTjCLL4FQBjAvjWmfB2K-0GN_eXJjwN4Gu1-ezJA1zp935f8FekKNvf5UTTtQMScc5Fo2_XpDFHyWRrnuQdC4s7JFTiM19JHEg.png)
The second page will be the Share Feedback page. Here, we'll have a TextField to capture user feedback and store it in a variable.
Adding the Share Feedback Page
- In the second page of the PageView, add a Column widget.
- Add a Text widget with the text "Share Your Feedback".
- Add a TextField widget below the text for user input.
Step 4: Create the Thank You Gift Page
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23febad8c0a774bd1d524_AD_4nXdKPVAiAtiTsBgHL-0zQZYZYpl3nI9e4-Id8bZy4HS0wV2jq-viA2bczL1DlemioPJMyRqbIi-8FQf4Z5YBY0t_f9UazjOZJufw7qLoz_67MAzH9jCpB61f8fB0W5JNnb_GnuyXNnTH0phjb4RfRgibG4U.png)
The third page will be the Thank You Gift page. This page is similar to the previous one but includes an action to send an email to the user or save the information in a database.
Adding the Thank You Gift Page
- In the third page of the PageView, add a Column widget.
- Add a Text widget with the text "Thank You! Here is your gift".
- Add any additional actions or widgets, such as a button to send an email or save data.
Adding Controls
Next, we'll discuss some tricks for managing visibility, animations, and statuses of the control buttons.
Step 5: Managing PageView Controls
We handle the navigation and control visibility using the indexes of the PageView, different icons, and animations. Here's how we can do it:
- Visibility Management: Show or hide the back button based on the current page index.
- Statuses: Update the local state to reflect the current page and any actions taken by the user.
Example
In FlutterFlow, set up the control buttons to handle page navigation:
- For the back button, add an action to navigate to the previous page.
- For the forward button, add an action to navigate to the next page.
- Use conditions to show or hide the back button based on the current page index.
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a23feb24adc4b36711f1ab_AD_4nXc4JzYooOzDnoGY65s_Y5ilAJeIWkFX9Cn8pZHPnSXYW83W7WkFfv1DY0B9ta5YcnDilmjS-1OsIVMat25wcmOAKltJontVbfaFzCodEoj5HuFgQLnmBqPsShDHw05Yijp-U-viypzgUnHbARQgxyd5F6Ma.png)
![](https://cdn.prod.website-files.com/63121a28f4eb4a72f065098f/66a76ab0b38dd97af733d9c6_66a248015d46870dfbc7e146_EOxYq-1sW6JKJJS-.gif)
Conclusion
In this tutorial, we've built a multi-page feedback form in FlutterFlow using the PageView widget. We've added controls for smooth navigation and demonstrated how to manage visibility, animations, and statuses for the controls. By following these steps, you can create a seamless feedback form for your FlutterFlow applications.
For more details and code examples, you can refer to the original post threads here.
Interested in a free app review?
Schedule a call