Запретить автоматическое изменение значения кнопки выпадающего списка

#flutter

Вопрос:

Я использовал карту для отображения всех элементов списка, классифицированных по категориям.Однако, когда я изменяю раскрывающуюся кнопку первого элемента, значение раскрывающейся кнопки другого элемента также изменяется, что я должен сделать, чтобы гарантировать, что значение раскрывающейся кнопки другого элемента не изменится при изменении значения раскрывающейся кнопки первого элемента?

     List filteredproducts = [];
    for (int i = 0; i < products.length; i  ) {
      if (products[i]['index'] == getindex) {
        filteredproducts.add(
          Container(
            height: 380,
            child: ListTile(
              title: Container(
                padding: EdgeInsets.all(20),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        InkWell(
                          onTap: () {
                            setState(() {});
                          },
                          child: Text(
                            products[i]['name'].toString(),
                            style: TextStyle(
                              fontSize: 17,
                              fontWeight: FontWeight.bold,
                              color: Colors.orange,
                            ),
                          ),
                        ),
                        Container(
                          width: 120,
                          decoration: BoxDecoration(
                            color: Colors.white,
                            borderRadius:
                                BorderRadius.all(Radius.circular(25.0)),
                          ),
                          child: DropdownButtonHideUnderline(
                            child: ButtonTheme(
                              alignedDropdown: true,
                              child: DropdownButton(
                                isExpanded: true,
                                value: getval,
                                items: [
                                  DropdownMenuItem(
                                      child: Center(
                                        child: InkWell(
                                          onTap: () {
                                            setState(() {});
                                          },
                                          child: Text(
                                            '請選擇:',
                                            textAlign: TextAlign.center,
                                          ),
                                        ),
                                      ),
                                      value: 0,
                                      onTap: (() {})),
                                  DropdownMenuItem(
                                    child: Center(
                                      child: Text(
                                        '${choice[0]}',
                                        textAlign: TextAlign.center,
                                      ),
                                    ),
                                    value: 1,
                                    onTap: (() {}),
                                  ),
                                  DropdownMenuItem(
                                    child: Center(
                                      child: Text(
                                        '${choice[1]}',
                                        textAlign: TextAlign.center,
                                      ),
                                    ),
                                    value: 2,
                                    onTap: (() {
                                      setState(() {
                                        //_display = true;
                                      });
                                    }),
                                  ),
                                  DropdownMenuItem(
                                    child: Center(
                                      child: Text(
                                        '${choice[2]}',
                                        textAlign: TextAlign.center,
                                      ),
                                    ),
                                    value: 3,
                                    onTap: (() {
                                      setState(() {
                                        //_display = false;
                                      });
                                    }),
                                  ),
                                ],
                                onChanged: (value) => setState(() {
                                  getval = value as int?;
                                }),
                              ),
                            ),
                          ),
                        ),
                      ],
                    ),
                    Visibility(
                      visible: _display,
                      child: Column(
                        children: [
                          Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              Text(
                                '缺善地方',
                                style: TextStyle(
                                  fontSize: 18,
                                  fontWeight: FontWeight.bold,
                                ),
                              ),
                              SizedBox(height: 10),
                              Container(
                                padding: EdgeInsets.all(12),
                                decoration: BoxDecoration(
                                  borderRadius:
                                      BorderRadius.all(Radius.circular(25.0)),
                                ),
                                child: TextFormField(
                                  maxLines: 6,
                                  decoration: InputDecoration(
                                    contentPadding:
                                        EdgeInsets.fromLTRB(20, 5, 5, 5),
                                    border: OutlineInputBorder(
                                      borderRadius: BorderRadius.circular(30.0),
                                      borderSide: BorderSide.none,
                                    ),
                                    fillColor: Colors.white,
                                    filled: true,
                                    hintText: '點擊這裡添加:',
                                  ),
                                ),
                              ),
                              SizedBox(height: 10),
                              Text(
                                '改善安排',
                                style: TextStyle(
                                  fontSize: 18,
                                  fontWeight: FontWeight.bold,
                                ),
                              ),
                              SizedBox(height: 10),
                              Container(
                                decoration: BoxDecoration(
                                  borderRadius:
                                      BorderRadius.all(Radius.circular(25.0)),
                                ),
                                child: TextFormField(
                                  decoration: InputDecoration(
                                    suffixIcon: Icon(Icons.calendar_today),
                                    contentPadding:
                                        EdgeInsets.fromLTRB(20, 5, 5, 5),
                                    border: OutlineInputBorder(
                                      borderRadius: BorderRadius.circular(30.0),
                                      borderSide: BorderSide.none,
                                    ),
                                    fillColor: Colors.white,
                                    filled: true,
                                    hintText: '負責人:',
                                  ),
                                ),
                              ),
                            ],
                          ),
                        ],
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ),
        );
      }
    }
    return Container(
      height: filteredproducts.length * 380,
      child: Column(
        children: [
          ...filteredproducts.map(
            (item) => Container(
              child: item,
            ),
          ),
        ],
      ),
    );
  }
 

Вот формат списка товаров(всего 56 наименований в 9 категориях)

 List products =[{"id": 1,
    "name": "木板路",
    "category": "進出途徑",
    "index": 1,
}]
 

для выбора списка

 List choices = ['Y','N','NA'];