摘要:今天來講講的表單元素。在中,并不使用之前的屬性,而在根標簽上用屬性來表示選中項。多個輸入的解決方法當你有處理多個受控的元素時,你可以通過給每個元素添加一個屬性,來讓處理函數根據的值來選擇做什么。
今天來講講react的表單元素。
受控元素
下面來看一下如何獲取輸入框的值
import React, { Component } from "react"; class Trem extends React.Component { constructor(props){ super(props); this.inp = this.inp.bind(this); this.sub = this.sub.bind(this); this.state = { place:"請輸入...", inputV:"" } }; inp(e){ this.setState({ inputV:e.target.value {/* 通過事件細節改變inputV的值*/} }); console.log(e.target.value) }; sub(){ console.log(this.state.inputV) }; render(){ return () } } export default Trem;
{/*此處的main是來自父組件的傳值*/}
代碼解讀:
this.inp = this.inp.bind(this); 綁定inp函數this指向
this.state 初始化變量
inp() 監聽input的輸入值
this.state.inputV 通過賦值獲取input的value
textarea 標簽
import React, { Component } from "react"; class Trem extends React.Component { constructor(props){ super(props); this.inp = this.inp.bind(this); this.sub = this.sub.bind(this); this.state = { place:"請輸入...", inputV:"" } }; inp(e){ this.setState({ inputV:e.target.value }); console.log(e.target.value) }; sub(){ console.log(this.state.inputV) }; render(){ return () } } export default Trem;
下拉選擇框
import React, { Component } from "react"; class Trem extends React.Component { constructor(props){ super(props); this.select = this.select.bind(this); this.state = { selectV:"coconut" } }; select(e){ this.setState({ selectV:e.target.value }); console.log(e.target.value) }; render(){ return () } } export default Trem;
代碼解讀:
請注意,Coconut選項最初由于selected屬性是被選中的。在React中,并不使用之前的selected屬性,而在根select標簽上用value屬性來表示選中項。這在受控組件中更為方便,因為你只需要在一個地方來更新組件。
總之,,
多個輸入的解決方法
當你有處理多個受控的input元素時,你可以通過給每個元素添加一個name屬性,來讓處理函數根據 event.target.name的值來選擇做什么。
import React,{Component} from "react"; class More extends React.Component { constructor(props){ super(props); this.state = { isGoing: true, numberOfGuests: 2 }; this.handleInputChange = this.handleInputChange.bind(this); }; handleInputChange(event) { const target = event.target; const value = target.type === "checkbox" ? target.checked : target.value; const name = target.name; this.setState({ [name]: value }); console.log(event.target.checked,event.target.value) }; render(){ return () } } export default More;
代碼解讀:
this.setState({
});
es6計算屬性名語法
源碼地址:https://github.com/Nick091608...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103216.html
摘要:受控輸入框只會顯示通過傳入的數據。例如,數組中的元素將會渲染三個單選框或復選框。屬性接收一個布爾值,用來表示組件是否應該被渲染成選中狀態。 原文地址:React.js Forms: Controlled Components 原文作者:Loren Stewart 譯者:小 B0Y 校對者:珂珂君 本文涵蓋以下受控組件: 文本輸入框 數字輸入框 單選框 復選框 文本域 下拉...
摘要:根據虛擬的算法,只要改變節點的類型就能促使在的時候重新創建虛擬。不過這個效果依賴于虛擬算法。如果使用時候出現什么副作用,鄙人概不負責。此技巧在寫文章時正處于的版本 我們知道 React 的標準模式是單向數據流,而其表單項通常需要監聽 onChange 事件,然后通過改變外部的 value 來回寫表單項的 value,譬如如下 input class App extends React....
摘要:通過表單添加任務在這個步驟,我們將為用戶在列表上添加輸入框。在中,這是一種監聽瀏覽器事件的方式,就像是在表單上有提交事件一樣。這對一個任務列表來說并不是非常好。在下一步,我們將給待辦事宜的列表添加一個非常重要的功能已完成功能和刪除功能 通過表單(form)添加任務 在這個步驟,我們將為用戶在列表上添加輸入框。 首先,在App.jsx文件中App組件上添加表單吧。 Tod...
摘要:本篇基于路由來實戰用戶登錄功能,會涉及到表單的數據綁定表單提交和登錄判斷等新玩意。 本篇基于React路由來實戰用戶登錄功能,會涉及到表單的數據綁定、表單提交和登錄判斷等新玩意。 showImg(https://segmentfault.com/img/remote/1460000019833533?w=560&h=310); 續上篇:React的路由深入 先來創建一個組件 - 登錄表...
摘要:我們可以使用函數構造函數將我們的組件轉換為狀態什么是函數構造函數在中,函數是一個在創建對象時運行的函數。我們將使用構造函數方法在對象創建時正確運行對象時設置實例變量。每當一個有一個屬性被設置時,它會在該字段改變的每個時間調用函數。 本文轉載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3823原文:https://www.fullsta...
閱讀 1019·2022-07-19 10:19
閱讀 1794·2021-09-02 15:15
閱讀 1007·2019-08-30 15:53
閱讀 2653·2019-08-30 13:45
閱讀 2652·2019-08-26 13:57
閱讀 1983·2019-08-26 12:13
閱讀 1006·2019-08-26 10:55
閱讀 545·2019-08-26 10:46