Вы развертываете данные каждый раз в цикле, как <td>{i.price_a} test a..</td>
. здесь, если i.price_a не найден в объекте, что означает, что он не определен, поэтому его рендеринг как <td>{undefined} test a..</td>
.
undefined не будет отображаться в jsx, и вы увидите только <td>test a..</td>
.
Чтобы решить эту проблему, вы можете проверить каждый объект, если обнаружены данные только тогда, когда часть td будет отображаться в противном случае, она станет черной.
, т.е.
<td>{i.price_a ? `${i.price_a} test a..` : ''} </td>
ИЛИ
<td>{i.price_a ? i.price_a + 'test a..' : ''} </td>
Я нашел это.
ScrollController.position.isScrollingNotifier.addListener(() {// scrolling stopped});
Если кто-нибудь знает лучшее решение, пожалуйста, запишите его. Я более чем рад принять ваш ответ.
Оберните ListView
в NotificationListener
и прослушайте UserScrollNotification
.
NotificationListener<UserScrollNotification>(
onNotification: (notification) {
if (notification.direction == ScrollDirection.idle) {
print("Scrolling stopped");
}
},
child: ListView.builder(...),
),