zoukankan      html  css  js  c++  java
  • Flutter 中 实现 单选对话框 和页面中实现单选框


    showDispatchDialog(List<Technician> techList) async {
    var alertDialogs = await showDialog(
    context: context,
    builder: (context) {
    int _techIndex = 0;
    return AlertDialog(
    title: Text("请选择"),
    content: StatefulBuilder(builder: (context, StateSetter setState) {
    return SingleChildScrollView(
    child: ListBody(
    children: techList.asMap().keys.map((index) =>
    Padding(
    padding:EdgeInsets.all(5),
    child: Row(
    mainAxisSize: MainAxisSize.min,
    children: <Widget>[
    Radio(
    value: index,
    groupValue: _techIndex,
    onChanged: (v) {
    setState(() {
    this.technician = techList[v];
    _techIndex = v;
    });
    },
    ),
    Text(techList[index].name),
    ],
    )
    )
    ).toList(),
    ),
    );
    }),


    actions: <Widget>[
    FlatButton(
    child: Text("取消"),
    onPressed: () {
    Navigator.pop(context, "cancel");} ),
    FlatButton(
    child: Text("确定"),
    onPressed: (){
    Navigator.pop(context, "confirm");

    }),
    ],
    );
    });
    }




    页面中实现单选框

    ///默认选中的单选框的值
    int groupValue = 0;
    ///单选框的成组使用
    Row buildRadioGroupRowWidget() {
    return Row(
    children: [
    Row(
    ///包裹子布局
    mainAxisSize: MainAxisSize.min,
    children: [
    Radio(
    ///此单选框绑定的值 必选参数
    value: 0,
    ///当前组中这选定的值 必选参数
    groupValue: groupValue,
    ///点击状态改变时的回调 必选参数
    onChanged: (v) {
    setState(() {
    this.groupValue = v;
    });
    },
    ),
    Text("语文")
    ],
    ),
    Row(
    ///包裹子布局
    mainAxisSize: MainAxisSize.min,
    children: [
    Radio(
    ///此单选框绑定的值 必选参数
    value: 1,
    ///当前组中这选定的值 必选参数
    groupValue: groupValue,
    ///点击状态改变时的回调 必选参数
    onChanged: (v) {
    setState(() {
    this.groupValue = v;
    });
    },
    ),
    Text("数学")
    ],
    ),
    Row(
    ///包裹子布局
    mainAxisSize: MainAxisSize.min,
    children: [
    Radio(
    ///此单选框绑定的值 必选参数
    value: 2,
    ///当前组中这选定的值 必选参数
    groupValue: groupValue,
    ///点击状态改变时的回调 必选参数
    onChanged: (v) {
    setState(() {
    this.groupValue = v;
    });
    },
    ),
    Text("英语")
    ],
    ),
    ],
    );
    }
  • 相关阅读:
    网络基础
    socket编程初识
    socket之黏包
    socketserver和socket的补充(验证客户端合法性)
    操作系统介绍
    进程初识和multiprocessing模块之Process
    进程Process之join、daemon(守护)、terminate(关闭)
    进程间通信(队列、管道)、消费者模型和进程池(apply,apply_async,map)
    数字证书私钥sign及验证
    JAVA获取密钥公钥的keytool的使用
  • 原文地址:https://www.cnblogs.com/lucktian/p/13862380.html
Copyright © 2011-2022 走看看