UNPKG

weex-nuke

Version:

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

152 lines (144 loc) 3.81 kB
# Switch 包含受控、非受控 2 种用法,请注意区别 - order: 0 - title_en: Contains controlled and uncontrolled, please note the difference 包含受控、非受控 2 种用法,请注意区别。 --- ```js <NukePlayGround> // 非受控用法 <Switch key="switch3" defaultChecked={true} onValueChange={(value) => this.changeNotice('switch3', value)} /> // 受控用法 <View style={styles.cellItem}> <Switch key="switch4" defaultChecked={false} onValueChange={(value) => this.changeNotice('switch4', value)} /> <View style={styles.cellResult}> <Text style={styles.label}>switch4 返回: </Text> <Text style={styles.text}>{this.state.switch4}</Text> </View> </View> </NukePlayGround> ``` --- ```js import { createElement, Component, render } from 'rax'; import Text from 'nuke-text'; import View from 'nuke-view'; import Page from 'nuke-page'; import Switch from 'nuke-switch'; import ThemeProvider from 'nuke-theme-provider'; const { StyleProvider } = ThemeProvider; let md = { Core: { [`color-brand1-6`]: '#1A9CB7' }, Switch: {} }; let App = class NukeDemoIndex extends Component { constructor() { super(); this.state = { switch1: true, switch2: false, switch3: null, switch4: null }; } change = (item, value) => { let obj = {}; obj[item] = value; this.setState(obj); }; changeNotice = (item, value) => { let obj = {}; obj[item] = value; this.setState(obj); }; render() { return ( <StyleProvider style={md} androidConfigs={{ materialDesign: true }}> <Page title="Switch"> <Page.Intro main="非受控,组件checked 状态更新后,返回结果" /> <View style={styles.row}> <View style={styles.cellItem}> <Switch key="switch3" defaultChecked={true} onValueChange={(value) => this.changeNotice('switch3', value)} /> <View style={styles.cellResult}> <Text style={styles.label}>switch3 返回: </Text> <Text style={styles.text}>{this.state.switch3}</Text> </View> </View> <View style={styles.cellItem}> <Switch key="switch4" defaultChecked={false} onValueChange={(value) => this.changeNotice('switch4', value)} /> <View style={styles.cellResult}> <Text style={styles.label}>switch4 返回: </Text> <Text style={styles.text}>{this.state.switch4}</Text> </View> </View> </View> <Page.Intro main="disabled" /> <View style={styles.row}> <View style={styles.cellItem}> <Switch disabled checked={true} /> </View> <View style={styles.cellItem}> <Switch disabled /> </View> </View> <Page.Intro main="222222" /> <View style={styles.row}> <Switch key="switch6" defaultChecked={false} onValueChange={(value) => this.changeNotice('switch6', value)} /> </View> </Page> </StyleProvider> ); } }; const styles = { row: { width: 200, height: 100, backgroundColor: '#fff333', flexDirection: 'row' }, // row: { // flexDirection: 'row', // paddingLeft: 40, // marginBottom: 30 // }, cellItem: { flex: 1, height: 240 }, cellResult: { flexDirection: 'row' }, text: { marginTop: 20, fontSize: 24 }, label: { marginTop: 20, fontSize: 24, color: '#999999' } }; render(<App />); ```