2017-10-21 71 views
1

我想创造这样的事情材料UI字段选择器

alt text

所以我可以域之间进行选择,怎么可能建立在物质的UI这样的事情?

+0

是的。但我认为你并没有真正问这个问题。如果你问的是如何,堆栈溢出会变得太宽泛。如果你问的是哪里得到一个这样做的组件,它也是主题。所以不幸的是,你的问题在这里似乎并不合适,但至少要编辑它来包含你的问题的更多细节,如果“是”不足以回答它的话。 –

+0

@SamiKuhmonen,我读过MateriaUi文档没有找到如何创建这样的东西。 也许我错过了什么。 – Taieb

回答

0

为每个按钮创建一个组件,并为其指定一个className,它定义背景颜色,如图像上的未标记背景颜色。 className应该是state财产。

之后在onClick之后将state属性更改为具有红色背景的css类。

例如:

class Button extends React.Component { 
    constructor(props) { 
     super(props); 
     this.state = {buttonDesign: "not-selected"}; 
     this.handleClick = this.handleClick.bind(this); 
    } 

    handleClick() { 
     if (this.state.buttonDesign == "selected"){ 
      this.setState({ 
      buttonDesign: "not-selected" 
      }); 
     } 
     else if (this.state.buttonDesign == "not-selected"){ 
      this.setState({ 
      buttonDesign: "selected" 
      }); 
     } 
     } 
    }; 

    render() { 
     return(
      <button className={this.state.buttonDesign} onClick={this.handleClick}> 
       "your button name" 
      </button> 
     ); 
    } 
} 

,并在你的CSS文件,你应该有这样的事情:

.not-selected { 
    background-color : #ff9191; // or your color 
} 
.selected{ 
    background-color: #ff0000; // or your color 
} 

而你也需要一些逻辑来跟踪哪些已经被选中。

+0

有没有办法做到这一点静态? – Taieb

+0

你是什么意思? – Goran

+0

只需使用Material-ui和芯片组件。 我知道我要使用的所有数据,所以我想把它们放在一个数组中,并显示它们,所以我可以在它们之间进行选择。 – Taieb