码迷,mamicode.com
首页 > 其他好文 > 详细

React-Native 七:Slider

时间:2016-05-13 02:52:29      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

用于从一个值范围选择一个值的组件。
一、属性

名称
类型
说明
disabledbool如果为true,用户无法移动这个滑动条。默认值为false。
maximumValuenumber滑动条最大值。默认为1。
minimumValuenumber滑动条最小值,默认为0。
onSlidingCompletefunction当用户完成值的改变被回调的方法。
onValueChangefunction当用户正在滑动滑动条持续回调的方法;
stepnumber滑动条的最小单位。这个值应该在0到最大值-最小值之间。默认为0。
testIDstring
valuenumber滑动条选择的值。这个值应该在最小值和最大值之间,它们的默认值分别为0和1。默认值为0。
二、实例
index.andorid.js文件
‘use strict‘;
var React = require(‘react‘);
var ReactNative = require(‘react-native‘);

var {
  AppRegistry,
  StyleSheet,
  View,
  Text,
  Slider,
} = ReactNative;

var SliderExample = React.createClass({
  getDefaultProps: function(){
    return {
      value: 0,
    };
  },
  getInitialState: function(){
    return {
      value: 0,
    };
  },
  render: function(){
     return (
      <View>
        <Text style={styles.text}>
          {this.state.value && +this.state.value.toFixed(3)}
        </Text>
        <Slider
          {...this.props}
          onValueChange={(value) => this.setState({value: value})} />
      </View>
      );
  },
});

var SlidingCompleteExample = React.createClass({
  getInitialState: function(){
    return {
      slideCompletionValue: 0,
      slideCompletionCount: 0,
    };
  },

  render: function() {
    return (
      <View>
        <SliderExample
          {...this.props}
          onSlidingComplete={(value) => this.setState({
              slideCompletionValue: value,
              slideCompletionCount: this.state.slideCompletionCount + 1})} />
        <Text>
          Completions: {this.state.slideCompletionCount} Value: {this.state.slideCompletionValue}
        </Text>
      </View>
    );
  }
});

var AwesomeProject = React.createClass({
  render: function(){
    return(
      <View>
        <SliderExample />
        <SliderExample value={0.5} />
        <SliderExample minimumValue={-1} maximumValue={2}/>
        <SliderExample step={0.25} />
        <SlidingCompleteExample />
      </View>
    );
  }
});

var styles = StyleSheet.create({
  slider:{
    height: 10,
    width: 10,
  },
  text:{
    fontSize: 14,
    textAlign: ‘center‘,
    fontWeight: ‘500‘,
    margin: 10,
  },
});

AppRegistry.registerComponent(‘AwesomeProject‘, () => AwesomeProject);
运行结果:
技术分享
技术分享
提示1:在编写完成代码,Reload JS之后,程序运行报错如下:
技术分享
技术分享
处理:通过react-native --version查看你当前的reat-native的版本。如果该版本不支持Slider控件,则查阅《React-Native 学习十:React-Native升级》升级对对应的版本。并重新安装App Reload;

React-Native 七:Slider

标签:

原文地址:http://blog.csdn.net/p106786860/article/details/51338764

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!