ReactNative系列之十四评分效果的实现
来源:互联网 发布:鹿晗最新知乎 编辑:程序博客网 时间:2024/05/23 15:06
1、写一个评星级的组件,在网上其它地方也没找到所以分享一下,效果图
2、使用方式
控件调用
<StarScore selectIndex={this._selectIndex.bind(this)}/>星级选择后,设置属性方法,在主页在设置星级值
// 评分当前选中 _selectIndex(count) { this.state.currentScore = count; }
3、完整代码:
/** * Created by QQ756312633 on 2017/5/12. * http://blog.csdn.net/yeputi1015/article/ */'use strict'import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, WebView, Alert, ListView, ScrollView, InteractionManager, TextInput, TouchableOpacity, Image, Dimensions} from 'react-native';var {width, height} = Dimensions.get('window');export default class StarScore extends Component { // 构造 constructor(props) { super(props); // 初始状态 this.state = { totalScore: 5, // 总分值 currentScore: 3, // 分值 }; } render() { return ( <View style={{flexDirection: 'row', width: width, height: 20, marginBottom: 6}}> {this._renderBody()} </View> ); } _renderBody() { let images = []; for (var i = 1; i <= this.state.totalScore; i++) { let currentCount = i; images.push( <View key={"i" + i}> <TouchableOpacity onPress={(i) => {this._score(currentCount)}}> <Image source={require('../Img/star.png')} style={{width: 20, height: 20}}/> {this._renderYellowStart(i)} </TouchableOpacity> </View> ); } return images; } _renderYellowStart(count) { if (count <= this.state.currentScore) { return ( <Image source={require('../Img/star_yellow.png')} style={{width: 20, height: 20, position: 'absolute'}}/> ); } } _score(i) { this.setState({ currentScore: i }); this.props.selectIndex(i); }}
0 0
- ReactNative系列之十四评分效果的实现
- ReactNative进阶之评分控件的封装
- ReactNative中ListView的实现效果
- 电影评分星级显示效果的实现
- 原生js实现的星级评分效果
- 原生js实现的星级评分效果
- js实现五星评分的效果
- 星级评分效果 -js实现
- 仿商业网站——商品评分效果的实现
- ReactNative系列之四Image
- ReactNative系列之五TextInput
- ReactNative系列之六TouchableOpactity
- ReactNative系列之八position
- ReactNative系列之九WebViewBridge(ReactNative与html5之间的调用)
- Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果
- Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果
- 评分效果(错的)
- Android UI系列之侧滑粘稠效果的实现
- Java集合框架
- 启动时间测试
- 围住神经猫
- ubuntu sudo 无法解析主机
- 【计组】-- 指令系统(1) : 指令格式
- ReactNative系列之十四评分效果的实现
- 语法2
- dp斜率优化 Hdu 3507(Print Article)详细题解
- 接口总结
- javaSE_8系列博客——Java语言的特性(三)--类和对象(15)--嵌套类
- 第七周 CSS3选择符
- 累加器
- hadoop之虚拟机安装hadoop
- Swift-通过 Emoji 来理解 Swift 高阶函数