欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react實(shí)現(xiàn)Radio組件的示例代碼

 更新時(shí)間:2021年04月06日 16:32:06   作者:優(yōu)雅的王德奧  
這篇文章主要介紹了react實(shí)現(xiàn)Radio組件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

本文旨在用最清楚的結(jié)構(gòu)去實(shí)現(xiàn)一些組件的基本功能。希望和大家一起學(xué)習(xí),共同進(jìn)步

效果展示:

測(cè)試組件:

class Test extends Component {
  constructor(props) {
    super(props)
    this.state = {
      active:1
    }
  }
  onGroupChange(value) {
    this.setState({
      active: value
    })
  }
  render() {
    return (
     <div>
      <RadioGroup onChange={this.onGroupChange.bind(this)} active={this.state.active}>
         <Radio value={1}>使用余額支付</Radio>
         <Radio value={2}>使用微信支付</Radio>
      </RadioGroup>
      <Button onClick={()=>{
             console.log("此時(shí)選中的是:"+this.state.active)
           }}>下一步</Button>
     </div>
      )
  }
}
export default Test;

RadioGroup:

import React, { Component } from 'react';
class RadioGroup extends Component {
  handleActiveChange(value) {
    console.log(`${value}被選中了`)
    this.props.onChange(value)
  }
  render() {
    return (
      <div>
        {
          React.Children.map(this.props.children, child => {
            let isActive = this.props.active === child.props.value ? true : false
            return React.cloneElement(child, {
              label: child.props.children,
              value: child.props.value,
              active: isActive,
              onClick: this.handleActiveChange.bind(this)
            })
          })
        }
      </div>
    )
  }
}
export default RadioGroup;

Radio.jsx:

import React, { Component } from 'react';
import "./radio.scss"
class Radio extends Component {
  render() {
    return (
      <div className="radio-wrap" onClick={this.props.onClick.bind(this,this.props.value)}>
        <div className="left">
          <div className={`circle ${this.props.active === true ? 'active' : ''} `}>
            <div className="fork"></div>
          </div>
          <div className="label">{this.props.label}</div>
        </div>
      </div>
    )
  }
}
export default Radio;

Radio.scss:

.radio-wrap {
  height: 40px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  padding: 0px 30px;

  &:active {
    background-color: rgb(221, 221, 221);
  }

  .left {
    display: inline-block;

    .circle {
      display: inline-block;
      height: 22px;
      width: 22px;
      box-sizing: border-box;
      border: 1px solid #c5c9cd;
      border-radius: 50%;
      background-color: #ffffff;
      position: relative;

      
    }
    .active{
      background-color: #1eb94a;
      .fork {
        height: 12px;
        width: 5px;
        border-right: 1.5px solid #ffffff;
        border-bottom: 1.5px solid #ffffff;
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
      }
    }

    .label {
      vertical-align: top;
      margin-left: 10px;
      display: inline-block;
      height: 22px;
      line-height: 22px;
      font-size: 14px;
    }
  }
}

到此這篇關(guān)于react實(shí)現(xiàn)Radio組件的示例代碼的文章就介紹到這了,更多相關(guān)react實(shí)現(xiàn)Radio組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • axios請(qǐng)求響應(yīng)數(shù)據(jù)加解密封裝實(shí)現(xiàn)詳解

    axios請(qǐng)求響應(yīng)數(shù)據(jù)加解密封裝實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了axios請(qǐng)求響應(yīng)數(shù)據(jù)加解密封裝實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • React 中 setState使用小結(jié)

    React 中 setState使用小結(jié)

    這篇文章主要介紹了React 中 setState使用小結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景

    react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景

    這篇文章主要介紹了react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 一文帶你搞懂useCallback的使用方法

    一文帶你搞懂useCallback的使用方法

    useCallback是用來(lái)幫忙緩存函數(shù)的,當(dāng)依賴項(xiàng)沒(méi)有發(fā)生變化時(shí),返回緩存的指針,而props涉及到復(fù)雜對(duì)象類型都是通過(guò)指針來(lái)傳遞到,下面這篇文章主要給大家介紹了關(guān)于useCallback使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • concent漸進(jìn)式重構(gòu)react應(yīng)用使用詳解

    concent漸進(jìn)式重構(gòu)react應(yīng)用使用詳解

    這篇文章主要為大家介紹了concent漸進(jìn)式重構(gòu)react應(yīng)用的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • react實(shí)現(xiàn)阻止父容器滾動(dòng)

    react實(shí)現(xiàn)阻止父容器滾動(dòng)

    這篇文章主要介紹了react實(shí)現(xiàn)阻止父容器滾動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • react配置webpack-bundle-analyzer項(xiàng)目?jī)?yōu)化踩坑記錄

    react配置webpack-bundle-analyzer項(xiàng)目?jī)?yōu)化踩坑記錄

    這篇文章主要介紹了react配置webpack-bundle-analyzer項(xiàng)目?jī)?yōu)化踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • react?redux的原理以及基礎(chǔ)使用講解

    react?redux的原理以及基礎(chǔ)使用講解

    這篇文章主要介紹了react?redux的原理以及基礎(chǔ)使用講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • react實(shí)現(xiàn)記錄拖動(dòng)排序

    react實(shí)現(xiàn)記錄拖動(dòng)排序

    這篇文章主要介紹了react實(shí)現(xiàn)記錄拖動(dòng)排序的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • React?Native性能優(yōu)化紅寶書(shū)方案詳解

    React?Native性能優(yōu)化紅寶書(shū)方案詳解

    React?Native?是Facebook在React.js?Conf2015推出的開(kāi)源框架,使用React和應(yīng)用平臺(tái)的原生功能來(lái)構(gòu)建Android和iOS應(yīng)用,這篇文章主要介紹了React?Native性能優(yōu)化紅寶書(shū),需要的朋友可以參考下
    2024-06-06

最新評(píng)論