CSS组件input-group,React Button/InputGroup 组件使用栗子

Button

export const ButtonBlock = ({buttonType, value, handleSubmit}) => (

{value}

)

InputGroup

const InputGroup = props => {

//请注意下面的 ...others

const { iconLeft, iconRight, updateValue, ...others } = props

return (

className="input input-block"

onChange={event => updateValue(event.target.value.trim())}

/*...others 不明白的话翻一下 ES6 工具书*/

{...others}

/>

{iconRight ? : ''}

)

}

引入不同

import { ButtonBlock } from '...Button';

import InputGroup from '....InputGroup';

因为 Button 组件可能会弄好几个 button ,不确定

栗子🌰

class LoginForm extends React.Component {

constructor(props){

super(props);

this.state = {

userName : '',

}

this._handleLogin = this._handleLogin.bind(this)

}

_handleLogin() {

let userName = this.state.userName;

//点击提交按钮可以拿到输入框里的值

}

render() {

return (

iconLeft="phone"

updateValue={ userName => this.setState({userName}) }

type="tel"

pattern="[0-9]*"

placeholder="请输入手机号"

// type,pattern,placeholder 这些属性可以随意添加,因为 InputGroup里有{...other}

/>

buttonType="btn-dark"

value="立即登录"

handleSubmit={this._handleLogin}

/>

)

可以不用 this.state 吗?

可以!

updateValue={ userName => this.setState({userName}) }

反正输入框的值 userName 已经拿到,我猜可以这么写(未测试):

submit(value) {

console.log(value)

}

render() {

let value;

return (

this.submit(value)}>

iconLeft="phone"

updateValue={ userName => value = userName }

type="tel"

pattern="[0-9]*"

placeholder="请输入手机号"

/>

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值