Element-React Radio 單選框

2020-10-16 09:55 更新

在一組備選項(xiàng)中進(jìn)行單選

基礎(chǔ)用法

由于選項(xiàng)默認(rèn)可見(jiàn),不宜過(guò)多,若選項(xiàng)過(guò)多,建議使用 Select 選擇器。

要使用 Radio 組件,需要設(shè)置value綁定變量,可以通過(guò)checked來(lái)指定Radio的選中狀態(tài)。

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value: 1
  5. }
  6. }
  7. onChange(value) {
  8. this.setState({ value });
  9. }
  10. render() {
  11. return (
  12. <div>
  13. <Radio value="1" checked={this.state.value === 1} onChange={this.onChange.bind(this)}>備選項(xiàng)</Radio>
  14. <Radio value="2" checked={this.state.value === 2} onChange={this.onChange.bind(this)}>備選項(xiàng)</Radio>
  15. </div>
  16. )
  17. }

禁用狀態(tài)

單選框不可用的狀態(tài)。

注意:請(qǐng)牢記,選中的條件是綁定的變量值等于value中的值。只要在Radio元素中設(shè)置disabled屬性即可,它接受一個(gè)Boolean,true為禁用。

  1. render() {
  2. return (
  3. <div>
  4. <Radio value="1" disabled={true}>備選項(xiàng)</Radio>
  5. <Radio value="2" disabled={true}>備選項(xiàng)</Radio>
  6. </div>
  7. )
  8. }

單選框組

適用于在多個(gè)互斥的選項(xiàng)中選擇的場(chǎng)景

結(jié)合Radio.Group元素和子元素Radio可以實(shí)現(xiàn)單選組,在Radio.Group中綁定value,在Radio中設(shè)置好value即可,無(wú)需再給每一個(gè)Radio綁定變量,另外,還提供了onChange事件來(lái)響應(yīng)變化,它會(huì)傳入一個(gè)參數(shù)value。

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value: 3
  5. }
  6. }
  7. onChange(value) {
  8. this.setState({ value });
  9. }
  10. render() {
  11. return (
  12. <Radio.Group value={this.state.value} onChange={this.onChange.bind(this)}>
  13. <Radio value="3">備選項(xiàng)</Radio>
  14. <Radio value="6">備選項(xiàng)</Radio>
  15. <Radio value="9">備選項(xiàng)</Radio>
  16. </Radio.Group>
  17. )
  18. }

按鈕樣式

按鈕樣式的單選組合。

只需要把Radio元素?fù)Q成Radio.Button元素即可,此外,Element 還提供了size屬性給按鈕組,支持largesmall兩種(如果不設(shè)定為默認(rèn))。

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. radio3: '上海',
  5. radio4: '上海',
  6. radio5: '上海'
  7. }
  8. }
  9. onChange(key, value) {
  10. this.setState({
  11. [key]: value
  12. });
  13. }
  14. render() {
  15. return (
  16. <div>
  17. <Radio.Group value={this.state.radio3} onChange={this.onChange.bind(this, 'radio3')}>
  18. <Radio.Button value="上海" />
  19. <Radio.Button value="北京" />
  20. <Radio.Button value="廣州" />
  21. <Radio.Button value="深圳" />
  22. </Radio.Group>
  23. <Radio.Group value={this.state.radio4} onChange={this.onChange.bind(this, 'radio4')}>
  24. <Radio.Button value="上海" />
  25. <Radio.Button value="北京" />
  26. <Radio.Button value="廣州" disabled={true} />
  27. <Radio.Button value="深圳" />
  28. </Radio.Group>
  29. <Radio.Group value={this.state.radio5} disabled={true}>
  30. <Radio.Button value="上海" />
  31. <Radio.Button value="北京" />
  32. <Radio.Button value="廣州" />
  33. <Radio.Button value="深圳" />
  34. </Radio.Group>
  35. </div>
  36. )
  37. }

Radio Attributes

參數(shù) 說(shuō)明 類型 可選值 默認(rèn)值
checked Radio是否被選中 boolean false
value Radio 的 value string,number,boolean
disabled 是否禁用 boolean false
name 原生 name 屬性 string

Radio-group Attributes

參數(shù) 說(shuō)明 類型 可選值 默認(rèn)值
size Radio 按鈕組尺寸 string large, small
fill 按鈕激活時(shí)的填充色和邊框色 string #20a0ff
textColor 按鈕激活時(shí)的文本顏色 string #ffffff

Radio-group Events

事件名稱 說(shuō)明 回調(diào)參數(shù)
onChange 綁定值變化時(shí)觸發(fā)的事件 選中的 Radio label 值

Radio-button Attributes

參數(shù) 說(shuō)明 類型 可選值 默認(rèn)值
value Radio 的 value string,number
disabled 是否禁用 boolean false
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)