Question: I have a class in Web API C# called Hero.cs that contains list of properties and a class in angular called Hero.ts with the same properties as in C#. Web API has a method that returns the results as IList.
The angular app is displaying correctly with the values by calling this Web API method. If I add one or more properties in Web API without updating the changes in Hero.ts or anywhere in the angular app, does it impact the angular app UI or creates error?

I have tried adding new property called int age in my web API Hero.cs class without any changes in angular code. 

**Existing `hero.ts` class in angular**

```
export class Hero {  id: number;  name: string;}

```

**Existing `hero.cs` class of C# Web API**

```
public class Hero
{
  public int Id { get; set; }
  public string Name { get; set; }
}

```

**After adding `age` property in `hero.cs` class of C# Web API**

```
public class Hero
{
  public int Id { get; set; }
  public string Name { get; set; }
  public int age { get; set; }
}

```

Expected: No impacts on UI display by adding any number of properties in c# web api class Hero.cs and returning it in one of the method with return type IList of the Hero Class .

Answer: 
I found solution here :

just add `readOnly : true`

```dart
TextFormField(
                    readOnly: true,
                    decoration: InputDecoration(
                        prefixIcon: Icon(Icons.content_copy),
                        suffixIcon: IconButton(icon: Icon(
                          Icons.camera_alt,
                          color: Colors.orange,
                        ), onPressed: (){
                          print("halooooooo");
                        }),
                        labelText: "Foto KTP *"),
                  )

```
Replace the `TextFormField` with this

```
  Stack(
    children: <Widget>[
      TextFormField(
        enabled: false,
        focusNode: FocusNode(),
        decoration: InputDecoration(
            filled: true,
            prefixIcon: Icon(Icons.content_copy),
            labelText: "Photo KTP *"),
      ),
      Positioned(
        top: 10,
        bottom: 10,
        right: 10,
        child: IconButton(
          icon: Icon(
            Icons.camera_alt,
            color: Colors.orange,
          ),
          onPressed: (){
            print('halloooo');
          },
        ),
      ),
    ],
  ),

```

You can achieve same effect with something like this. 

What is happening here?

I am using a `Stack` widget. With `Stack` we can put more than one element in the same space. With positioned I then put the camera button to the right side. The camera button will respond to touches.

Edit:
-----

[with read-only](https://i.stack.imgur.com/pBzO9.png)

You can get the button working with `read-only: true` but the input will trigger the textedit animation still.

With stack the input is truly disabled.

[with stack](https://i.stack.imgur.com/gEc0n.png)