• RN 使用Radio实现多选


    这个单选功能使用的是Ant Design Mobile RN库中的Radio实现的,效果如图

    话不多说讲直接上代码

    1、引入import { Radio} from '@ant-design/react-native';

    2、声明 const RadioItem = Radio.RadioItem;

    3、使用map实现

    //  使用RadioItem实现多选 为每条数据绑定一个标记(checkedflag)然后每次点击更新这个值 类似原生多选的实现
        private showMapCheck() {
            let dataList: any[] = this.state.data
            if (dataList && dataList.length) {
    
                return dataList.map((item, index) => {
                    return (
                        <RadioItem
                            key={index}
                            style={{ height: 70 }}
                            checked={item.checkedflag}
                            onChange={(event: any) => {
    
                                let oData: any = this.state.data;
                                let oNew: any[] = [];
                                oData.map((fItem: any) => {
                                    // 将当前选中标记取反
                                    if (item.userId === fItem.userId) {
                                        fItem.checkedflag = !fItem.checkedflag;
                                    }
                                    oNew.push(fItem);
                                });
                                this.setState({ data: oNew });
                            }}
                        >
                            {/* 自定义控件 */}
                            <View style={{ flex: 1, paddingVertical: 15, flexDirection: 'row' }}>
                                <SelBidderView
                                    bidderHeadImg={item.iconUrl}
                                    bidderName={item.userName}
                                />
                            </View>
                        </RadioItem>
                    );
                })
            }
    
        }

    4、调用时通过checkedflag标记取出选中元素

     let oData: any = this.state.data;
     let oNew: any = [];
    oData.map((fItem: any) => { if (fItem.checkedflag) { oNew.push(fItem.userId)
    }
       });
  • 相关阅读:
    文件管理系统(JQuery插件+Ajax)
    十大Ajax框架
    WSS3.0开发你还在为写CAML痛苦吗?
    vue获取微博授权的URL
    微博三方登录原理
    阿里云短信服务
    JWT原理和COOKIE原理
    django数据库的ORM操作
    celery原理与组件
    生成微博授权URL
  • 原文地址:https://www.cnblogs.com/lijianyi/p/11516163.html
Copyright © 2020-2023  润新知