我正在使用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)