当列表的顺序发生变化时,如何重新呈现ListView?

时间:2019-09-04 08:12:46

标签: flutter dart

我正在使用ListView创建一个待办事项列表,该列表从该州获取一个列表。我向它传递了一个自定义窗口小部件,其中包含一个“完成”待办事项的按钮。当按下该按钮时,我将调用一个回调函数来重新排列我处于状态的列表,但是ListView不会重新呈现,并且列表也不会重新排序。

我尝试将回调函数传递给子Widget,以便在按下“完成”按钮时,包含ListView的屏幕对状态进行重新排序。

在父组件中,我有这个:

df <- iris 
df[paste0("top_", 1:3)] <- t(apply(df[-5], 1, function(x) 
                             head(sort(x, decreasing = TRUE), 3)))

head(df)
#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species top_1 top_2 top_3
#1          5.1         3.5          1.4         0.2  setosa   5.1   3.5   1.4
#2          4.9         3.0          1.4         0.2  setosa   4.9   3.0   1.4
#3          4.7         3.2          1.3         0.2  setosa   4.7   3.2   1.3
#4          4.6         3.1          1.5         0.2  setosa   4.6   3.1   1.5
#5          5.0         3.6          1.4         0.2  setosa   5.0   3.6   1.4
#6          5.4         3.9          1.7         0.4  setosa   5.4   3.9   1.7

tidyverse

以及子组件(TodoListItem):

library(dplyr)
library(tidyr)

iris %>%
  mutate(row = row_number()) %>%
  select(-Species) %>%
  gather(key, value, -row) %>%
  group_by(row) %>%
  top_n(3, value) %>%
  mutate(key = paste0("top", 1:3)) %>%
  spread(key, value) %>%
  ungroup %>%
  select(-row)

0 个答案:

没有答案