91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React的多選Checkbox組件怎么使用

發布時間:2022-12-05 16:48:03 來源:億速云 閱讀:219 作者:iii 欄目:編程語言

這篇文章主要介紹“React的多選Checkbox組件怎么使用”,在日常操作中,相信很多人在React的多選Checkbox組件怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”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 }
            });
          }}
/>

效果圖:

React的多選Checkbox組件怎么使用

到此,關于“React的多選Checkbox組件怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淅川县| 焦作市| 治多县| 阿克陶县| 甘德县| 广东省| 陵水| 沁阳市| 泾源县| 临海市| 吴旗县| 宿州市| 高唐县| 丹棱县| 黔东| 娱乐| 新绛县| 土默特右旗| 米脂县| 商南县| 同仁县| 开江县| 化州市| 梁山县| 田阳县| 仙游县| 阿尔山市| 新丰县| 张北县| 呼图壁县| 西宁市| 平顶山市| 宁武县| 高淳县| 大连市| 巨野县| 菏泽市| 安吉县| 噶尔县| 沁源县| 龙川县|