Power Apps forms is an excellent tool to connect and customize SharePoint list forms, but when they include a MultiChoice Field, is only provided a combobox where its not possible to use the feature of ‘Fill-in’ choices of the field.
When you add an edit-form, and connect it to the Sharepoint listPower Apps creates a combo-box for the multichoice field where you can add multiple values but can’t add custom choices
But here is a easy and pretty alternative!
This component, will allow you to easily manage the sharePoint multichoice fields with the ‘Fill-in’ choices in a Power Apps list form. Just import and configure as explained bellow.
First you need to download the component from here.
Next, go to the form project at Power Apps Studio and access the components tab. Press “…” then “import component”.
Press Upload File and select the file you downloaded.
In the Power Apps, add to a screen the edit form connected to the list.
We will need to save all the available choices and the selected choices in variables.
For this example we will set this variables at the property “onvisible” of the screen. This way, any time you open the screen it will config the component.
To get all the available choices, select the datacardvalue of the multichoice field and press “unlock to change properties“.
Copy the property items and set in the variable varItems in the onvisible of the screen.
Set the Form current item and the field selected values in variables. In this demo we do it in the screen OnVisible property
In the Form, set the Item property with the corresponding variable
Add the component, and set the items and selectedItems properties with the corresponding variables
In the onvisible property of the screen, reset the component.
Select the datacardvalue of the multichoice field and set DefaultSelectedItems property with
Filter(colSelectedItems,Value in colSelectedItems)
Select the component and set the “isEditMode” property with true or false if the form is editable (not in View Mode).
After this hide the form or the Multichoice DataCardvalue.