中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

React組件內事件傳參實現tab切換的示例代碼

發布時間:2020-09-20 18:10:45 來源:腳本之家 閱讀:202 作者:木子昭 欄目:web開發

本文介紹了React組件內事件傳參實現tab切換的示例代碼,分享給大家,具體如下:

  1. 組件內默認onClick事件觸發函數actionClick, 是不帶參數的,
  2. 不帶參數的寫法: 如onClick= { actionItem }
  3. 帶參數的寫法, onClick = { this.activateButton.bind(this, 0) }

下面是一個向組件內函數傳遞參數的小例子

需求: 在頁面的底部, 有四個按鈕, 負責切換內容, 當按鈕被點擊時, 變為激活狀態, 其余按鈕恢復到未激活狀態

分析: 我們首先要創建點擊事件的處理函數, 當按鈕被點擊時, 將按鈕的id作為參數發送給處理函數, 處理函數激活對應當前id的按鈕, 并將其余三個按鈕調整到未激活狀態

實現: 用組件state創建一個含有四個元素的一維數組, 四個元素默認為零, 但界面中某個按鈕被點擊時, 組件內處理函數將一維數組內對應元素變為1, 其它元素變為0

效果演示:

React組件內事件傳參實現tab切換的示例代碼

核心代碼:

import 'babel-polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.scss'

class TabButton extends React.Component {

    constructor(props) {
      super(props);
      this.state = {
        markArray: [0, 0, 0, 0], 
        itemClassName:'tab-button-item'
      };
      this.activateButton = this.activateButton.bind(this);
    }

    // 根據參數id, 來確定激活四個item中的哪一個
    activateButton(id) {
      let tmpMarkArray = [0, 0, 0, 0]
      tmpMarkArray[id] = 1;
      this.setState({markArray: tmpMarkArray});
    }

    render() {
      return ( 

        <div className = "tab-button" >

        <div className = {(this.state.markArray)[0] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 0) } > 零 </div> 
        <div className = {(this.state.markArray)[1] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 1) } > 壹 </div> 
        <div className = {(this.state.markArray)[2] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 2) } > 貳 </div> 
        <div className = {(this.state.markArray)[3] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 3) } > 叁 </div>

        </div>)
      }

    }

    ReactDOM.render( < TabButton / > , document.getElementById("root"));

小結

React組件內事件傳參實現tab切換的示例代碼

上面的例子也可以通過event.target.value快速實現,但這個demo的擴展性更好, 在版本迭代過程中, 我們可以傳遞數量更多的參數, 詳盡的描述UI層當前的狀態, 方便業務的擴展

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

长治市| 上犹县| 云南省| 忻城县| 百色市| 衡南县| 寿光市| 临海市| 和硕县| 宣城市| 麻江县| 陈巴尔虎旗| 都昌县| 万源市| 探索| 锦州市| 资溪县| 那曲县| 兴安盟| 津市市| 安岳县| 宁夏| 桦甸市| 平和县| 修武县| 平阳县| 霍邱县| 临海市| 潜山县| 阳曲县| 乌鲁木齐县| 鄯善县| 巴南区| 永修县| 昌宁县| 崇仁县| 湘西| 象州县| 罗源县| 罗甸县| 孟津县|