背景色材料-ui文本字段取决于值

时间:2020-07-31 14:46:08

标签: reactjs material-ui textfield

我有以下基于代码数组生成文本字段的反应代码,我想根据绑定字段布尔值的值更改文本字段的背景色

array.map((result: IResult, idx: number) =>
                                        <Grid key={idx} item xs={2}>
                                            <TextField
                                                required
                                                variant="filled"
                                                fullWidth
                                                color =   // ?? (if !result.approved set backcolor yellow
                                                id={result.name}
                                                label={result.name}
                                                defaultValue={result.value}
                                                name={result.name} />
                                        </Grid>

2 个答案:

答案 0 :(得分:1)

class UserAccountAdapter(DefaultAccountAdapter): def save_user(self, request, user, form, commit=True): user = super(UserAccountAdapter, self).save_user(request, user, form, commit=False) user.user_group = form.cleaned_data.get('user_group') user.save() user.groups.add(user.user_group) if user.groups.filter(name='zakelijk').exists(): user.is_active = False else: user.is_active = True user.save() return user 道具在突出显示输入边框的情况下无济于事。我浏览了this section (customized input),并有如下解决方法

color

Edit Material demo

答案 1 :(得分:0)

Ciao,here是一个工作示例。基本上,您必须执行以下操作:

<ThemeProvider theme={theme}>
   <TextField
          required
          variant="filled"
          fullWidth
          color={!result.approved ? "primary" : "secondary"}
          id={result.name}
          label={result.name}
          defaultValue={result.value}
          name={result.name}
        />
</ThemeProvider>

如您所见,TextField元素被包装到ThemeProvider中,为您提供{{1}上定义的primary(黄色)和secondary(例如黑色)颜色}。

theme的定义如下:

theme