Flutter: как убрать у последнего элемента border

Подскажите, пожалуйста, как убрать у последнего widget(card) border.

Пример кода:

   GestureDetector(
        child: Container(
          child: Column(
            children: List<Widget>.generate(
              list.length,
                  (int i) => card(
                    item: list[i],
                    press: () => Navigator.push(context, MaterialPageRoute(builder: (context) => ProductDetails(item: list[i]))),
              ),
            ),
          ),
        ),
      ),
// Виджет card
GestureDetector(
    onTap: press,
    child: Container(
      decoration: BoxDecoration(
          border: Border(
            bottom: BorderSide(width: 2, color: bgPrimaryColor),
          )
      ),
      child: Row(
        children: [
          Column(
            children: [
              Image.network('${itemStockCard.url}', width: 83)
            ],
          ),
          Flexible(
            child: Padding(
              padding: const EdgeInsets.all(15),
              child: Column(
                children: [
                  Text('${itemStockCard.name}'),
                  Text('${itemStockCard.description}'),
                ],
              ),
            ),
          )
        ],
      ),
    ),
  )

Ответы (1 шт):

Автор решения: Andrew Levitsky

Сам

ProductDetails(item: list[i])

должен принимать булевую переменную isShowBorder. Должно получиться что-то вроде

ProductDetails(item: list[i],isShowBorder: i == list.length - 1);

а в самом "ProductDetails"

//конструктор
ProductDetails(item, bool isShowBorder)
//поле
border: Border.all(
  color: Colors.black,
  width:isShowBorder ? 8 : 0,
),
→ Ссылка