最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React組件之多選Checkbox實(shí)例

 更新時(shí)間:2023年10月23日 14:22:34   作者:追影的React開(kāi)發(fā)者  
這篇文章主要介紹了React組件之多選Checkbox實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,

React組件之多選Checkbox

import React, { PureComponent } from "react";
import { List, NavBar, Checkbox } from "antd-mobile";
import { Icon } from "antd";
import TouchFeedback from "rmc-feedback";
import NavContentContainer from "./NavContentContainer";
import PanelContentContainer from "./PanelContentContainer";
 
export default class Checkbox_ extends PureComponent {
  constructor(props) {
    super(props);
    this.state = { select: [] };
  }
 
  componentWillReceiveProps(props) {
    const { show, init } = props;
    if (show) {
      this.setState({ select: init || [] });
    }
  }
 
  getDefaultChecked = value => {
    const { init } = this.props;
    const result = (init || []).filter(i => i === value);
    return result.length !== 0;
  };
 
  render() {
    const { show, data, title, hide, save } = this.props;
 
    const { select } = this.state;
 
    return (
      <div
        style={{
          display: show ? "block" : "none",
          zIndex: 1,
          position: "absolute",
          backgroundColor: "#fff",
          overflowY: "auto",
          top: 0,
          bottom: 0,
          left: 0,
          right: 0
        }}
      >
        <NavBar
          className="global-navbar"
          mode="dark"
          icon={
            <TouchFeedback activeClassName="primary-feedback-active">
              <Icon type="left" />
            </TouchFeedback>
          }
          onLeftClick={() => hide()}
          rightContent={[
            <Icon
              type="check"
              style={{ marginRight: "16px" }}
              onClick={() => save(select)}
            />
          ]}
        >
          {title}
        </NavBar>
        <NavContentContainer>
          <PanelContentContainer>
            <List>
              {data.map(i => (
                <Checkbox.CheckboxItem
                  wrap
                  key={i.value}
                  defaultChecked={this.getDefaultChecked(i.value)}
                  onChange={() => {
                    if (select.indexOf(i.value) === -1) {
                      select.push(i.value);
                    } else {
                      const odd = select;
                      odd.splice(odd.indexOf(i.value), 1);
                      this.setState({
                        select: odd
                      });
                    }
                  }}
                >
                  {i.key}
                </Checkbox.CheckboxItem>
              ))}
            </List>
          </PanelContentContainer>
        </NavContentContainer>
      </div>
    );
  }
}
<Checkbox
          show={showCheckbox}
          data={checkboxData}
          title={checkboxTitle}
          id={checkboxId}
          init={checkboxNum[checkboxId]}
          hide={() => this.setState({ showCheckbox: false })}
          save={v => {
            this.setState({
              showCheckbox: false,
              checkboxNum: { ...checkboxNum, [checkboxId]: v }
            });
          }}
/>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React+Router多級(jí)導(dǎo)航切換路由方式

    React+Router多級(jí)導(dǎo)航切換路由方式

    這篇文章主要介紹了React+Router多級(jí)導(dǎo)航切換路由方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • React父子組件間的通信是怎樣進(jìn)行的

    React父子組件間的通信是怎樣進(jìn)行的

    這篇文章主要介紹了React中父子組件通信詳解,在父組件中,為子組件添加屬性數(shù)據(jù),即可實(shí)現(xiàn)父組件向子組件通信,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2023-03-03
  • Objects are not valid as a React child報(bào)錯(cuò)解決

    Objects are not valid as a Rea

    這篇文章主要為大家介紹了Objects are not valid as a React child報(bào)錯(cuò)解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 詳解Webpack+Babel+React開(kāi)發(fā)環(huán)境的搭建的方法步驟

    詳解Webpack+Babel+React開(kāi)發(fā)環(huán)境的搭建的方法步驟

    本篇文章主要介紹了詳解Webpack+Babel+React開(kāi)發(fā)環(huán)境的搭建的方法步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • react學(xué)習(xí)每天一個(gè)hooks?useWhyDidYouUpdate

    react學(xué)習(xí)每天一個(gè)hooks?useWhyDidYouUpdate

    這篇文章主要為大家介紹了react學(xué)習(xí)每天一個(gè)hooks?useWhyDidYouUpdate使用示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • React自定義實(shí)現(xiàn)useWatch的方式和特點(diǎn)

    React自定義實(shí)現(xiàn)useWatch的方式和特點(diǎn)

    這篇文章主要介紹了React自定義實(shí)現(xiàn)useWatch的方式和特點(diǎn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-05-05
  • 取消正在運(yùn)行的Promise技巧詳解

    取消正在運(yùn)行的Promise技巧詳解

    這篇文章主要為大家介紹了取消正在運(yùn)行的Promise技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • react四種組件中DOM樣式設(shè)置方式詳解

    react四種組件中DOM樣式設(shè)置方式詳解

    這篇文章主要介紹了react之四種組件中DOM樣式設(shè)置方式,通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 漸進(jìn)式源碼解析React更新流程驅(qū)動(dòng)

    漸進(jìn)式源碼解析React更新流程驅(qū)動(dòng)

    這篇文章主要為大家介紹了漸進(jìn)式源碼解析React更新流程驅(qū)動(dòng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • React自定義hook的方法

    React自定義hook的方法

    Hook是 React 16.8 的新增特性。它通常與函數(shù)式組件同時(shí)使用??梢允购瘮?shù)式組件在不編寫(xiě) class 的情況下,可以擁有class組件的狀態(tài)、生命周期、引用等功能,這篇文章主要介紹了React自定義hook的相關(guān)知識(shí),需要的朋友可以參考下
    2022-06-06

最新評(píng)論

张家港市| 青神县| 五华县| 嘉禾县| 聊城市| 忻城县| 内江市| 红原县| 沐川县| 布拖县| 高安市| 绥中县| 容城县| 易门县| 郯城县| 太仆寺旗| 民和| 大方县| 平和县| 行唐县| 兴业县| 达拉特旗| 晋宁县| 沾益县| 五莲县| 宁晋县| 浪卡子县| 明光市| 丹凤县| 霍邱县| 合阳县| 吕梁市| 云阳县| 成安县| 莲花县| 雅江县| 西藏| 宿迁市| 荆门市| 通江县| 伊宁市|