UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

126 lines (117 loc) 3.05 kB
# Input demo - order: 3 input events --- ```js /** @jsx createElement */ import { createElement, Component, findDOMNode, render } from 'rax'; import View from 'nuke-view'; import Text from 'nuke-text'; import Input from 'nuke-input'; import Button from 'nuke-button'; import Page from 'nuke-page'; let App = class NukeDemoIndex extends Component { constructor() { super(); this.state = { input: '', change: '', returnKeyType: '', returnValue: '' }; } input = (e) => { let text = e.value; this.setState({ input: text }); }; textareaInputHandler = (e) => { let text = e.value; this.setState({ textareainput: text }); }; change = (text) => { this.setState({ change: text }); }; onReturnHandler = (e) => { console.log(e.type); this.setState({ returnKeyType: e.returnKeyType, returnValue: e.value }); console.log('in onReturnHandler'); }; blur = (e) => { this.refs.myinput.wrappedInstance.blur(); }; render() { return ( <Page title="Input"> <Page.Intro main="onChange 事件" /> <View style={styles.lineWithMargin}> <Input ref="myinput" placeholder="输入完成点击按钮失去焦点" onChange={this.change} /> </View> <View style={[styles.lineWithMargin, styles.textLine]}> <Text style={styles.text}> onChange: {this.state.change} </Text> <Button style={styles.btn} block type="primary" onPress={this.blur}> onChange 在失去焦点后触发 </Button> </View> <Page.Intro main="onInput 事件" /> <View style={styles.lineWithMargin}> <Input onInput={this.input} /> </View> <View style={[styles.lineWithMargin, styles.textLine]}> <Text style={styles.text}> onInput: {this.state.input} </Text> </View> <Page.Intro main="onInput textarea事件" /> <View style={styles.lineWithMargin}> <Input multiple onInput={this.textareaInputHandler} /> </View> <View style={[styles.lineWithMargin, styles.textLine]}> <Text style={styles.text}> onInput: {this.state.textareainput} </Text> </View> <Page.Intro main="return key" /> <View style={styles.lineWithMargin}> <Input placeholder="go" id="sixth" returnKeyType="go" onReturn={this.onReturnHandler} /> </View> <View style={[styles.lineWithMargin, styles.textLine]}> <Text style={styles.text}> return 类型: {this.state.returnKeyType} , 输入框值: {this.state.returnValue} </Text> </View> </Page> ); } }; const styles = { lineWithMargin: { marginLeft: 30, marginRight: 30 }, textLine: { marginTop: 20, marginBottom: 20 }, text: { fontSize: 26 }, btn: { marginTop: 20 } }; render(<App />); ```