带自定义条目的烧瓶WTF SelectField?

时间:2020-08-29 14:38:06

标签: flask flask-wtforms wtforms

我想创建一个提供建议的SelectField,但仍然允许用户输入其他内容。

library(ggplot2)
library(dplyr)

# The dataset is provided in the gapminder library
library(gapminder)
data <- gapminder %>% filter(year=="2007") %>% dplyr::select(-year)

#Plot
data %>%
  arrange(desc(pop)) %>%
  mutate(country = factor(country, country)) %>%
  ggplot(aes(x=gdpPercap, y=country, size=pop, color=continent)) +
  geom_point(alpha=0.5) +
  scale_y_discrete(guide = guide_axis(n.dodge=2))+
  scale_size(range = c(.1, 24), name="Population (M)")+ facet_grid(cols = vars(continent))+ 
  theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1),
        axis.text.y = element_text(size=7))

WTF文档建议将validate_choices设置为False可以做到这一点:

请注意validate_choice参数-通过将此参数设置为False,我们告诉SelectField跳过选择验证步骤,而是接受任何输入的选择,而无需检查它是否是给定选择之一。

但是,上面的数据不能输入或修改。这可能吗,还是我需要另一个“手动输入”字段? 或者,也许有一种方法可以使用JS在StringField中显示我的建议,类似于浏览器为地址等提供自动完成建议的方式吗?

1 个答案:

答案 0 :(得分:0)

我不知道有什么办法。看来您和我处于相似的位置。但是,我确实有一个想法要分享,对您有用。

许多表单的下拉列表中的值为“其他”,如果您选择“其他”,则会出现另一个空框供您输入。您可以在wtforms中轻松实现此框。或者,您可以始终显示额外的框,然后检查是否具有自定义输入,如果他们确实选择了“其他”。