UNPKG

weex-nuke

Version:

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

106 lines (97 loc) 2.32 kB
#Mask 基础用法 - order: 0 - title_en: Mask basic usage --- ```js /** @jsx createElement */ import { View, Text, Button, Mask, Page } from 'weex-nuke'; <NukePlayGround> <Mask onShow={func} onHide={func} ref="myMask" maskClosable={true}> {children} </Mask> </NukePlayGround> ``` --- ```js import { createElement, Component, findDOMNode, render } from 'rax'; let App = class NukeDemoIndex extends Component { constructor() { super(); this.state = { maskVisible: false, log: '' }; this.onShow = this.onShow.bind(this); this.onHide = this.onHide.bind(this); this.renderOverlay = this.renderOverlay.bind(this); } showMask(e) { this.refs.myMask.show(); } onVisibleChanged = (e) => {}; hideMask(e) { this.refs.myMask.hide(); } onShow(e) { this.setState({ log: this.state.log.concat('\n onShow event') }); } onHide(e) { this.setState({ log: this.state.log.concat('\n onHide event') }); } renderOverlay() { return ( <View style={styles.dialogWrap}> <Text style={styles.text}>touch background area will close window</Text> <Button type="primary" style={styles.btn} onPress={(e) => this.hideMask(e)}> Close </Button> </View> ); } render() { return ( <Page title="Mask"> <Page.Intro main="normal" /> <Button type="primary" onPress={(e) => this.showMask(e)}> open Overlay </Button> <Mask onShow={this.onShow} onHide={this.onHide} defaultVisible={true} onVisibleChanged={this.onVisibleChanged} ref="myMask" animate={false} style={styles.mask} maskClosable={true}> {this.renderOverlay()} </Mask> <Text style={{ whiteSpace: 'pre-wrap', fontSize: 28, color: 'grey' }}>{this.state.log}</Text> </Page> ); } }; const styles = { mask: { flex: 1, width: 750, alignItems: 'center', justifyContent: 'center', backgroundColor: 'rgba(0,0,0,0.7)' }, dialogWrap: { width: 600, height: 300, padding: 30, alignItems: 'center', justifyContent: 'center', backgroundColor: '#ffffff' }, text: { marginBottom: 20, fontSize: 32, flex: 1 } }; render(<App />); ```