广告
返回顶部
首页 > 资讯 > 移动开发 >flutter实现下拉框功能——基于DropdownButtonFormField
  • 687
分享到

flutter实现下拉框功能——基于DropdownButtonFormField

flutterandroid 2023-09-05 07:09:18 687人浏览 泡泡鱼
摘要

问题背景 客户端日常开发和学习过程,下拉框是一个很常见的组件,本文主要介绍Flutter中实现下拉框的一个方案,基于DropdownButtonFORMField来进行实现。 问题分析 DropdownButtonFormF

问题背景

客户端日常开发学习过程,下拉框是一个很常见的组件,本文主要介绍Flutter中实现下拉框的一个方案,基于DropdownButtonFORMField来进行实现。

问题分析

DropdownButtonFormField 是一个组合控件,将[DropdownButton]包装在[FormField]中,用法如下:

var _value='语文';@overrideWidget build(BuildContext context) {  return DropdownButtonFormField(    value: _value,    items: [      DropdownMenuItem(        child: Text('语文'),        value: '语文',      ),      DropdownMenuItem(child: Text('数学'), value: '数学'),      DropdownMenuItem(child: Text('英语'), value: '英语'),    ],    onChanged: (String value){      setState(() {        _value = value;      });    },  );}

问题解决

话不多说,直接上代码,实现下拉框的完整代码如下:

import 'package:flutter/material.dart';class Test extends StatefulWidget {  _TestState createState() => _TestState();}class _TestState extends State {  String currentSex = '男';  @override  Widget build(BuildContext context) {    const SEX = ['男', '女', '保密'];    return Scaffold(      appBar: AppBar(        // Here we take the value from the MyHomePage object that was created by        // the App.build method, and use it to set our appbar title.        title: Text("下拉框测试"),      ),      body: Container(        padding: const EdgeInsets.only(top: 10, right: 20, left: 20),        child: Row (          mainAxisAlignment: MainAxisAlignment.spaceBetween,          crossAxisAlignment: CrossAxisAlignment.center,          children: [            Text("性别"),            SizedBox(                width:60.0,                height: 30.0,                child: DropdownButtonFormField(            isExpanded: true,            iconSize: 20,            style: TextStyle(fontSize:15, color: Colors.black),            decoration: const InputDecoration(                contentPadding: EdgeInsets.only(left: 5, right: 5),                border: OutlineInputBorder(gapPadding: 1), labelText: ''),            // 设置默认值            value: currentSex,            // 选择回调            onChanged: (String? newPosition) {              setState(() {                currentSex = newPosition!;                print("currentSex: " + currentSex);              });            },            // 传入可选的数组            items: SEX.map((String sex) {              return DropdownMenuItem(value: sex, child: Text(sex));            }).toList(),          )),      ],        )),    );  }}

运行结果如下所示: 1681180615596.gif

问题总结

,本文主要介绍flutter中实现下拉框的一个方案,基于DropdownButtonFormField来进行实现,该方案实现起来较为简单,有兴趣的同学可以进一步深入研究。

来源地址:https://blog.csdn.net/weixin_39033300/article/details/130291685

--结束END--

本文标题: flutter实现下拉框功能——基于DropdownButtonFormField

本文链接: https://www.lsjlt.com/news/394864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • flutter实现下拉框功能——基于DropdownButtonFormField
    问题背景 客户端日常开发和学习过程,下拉框是一个很常见的组件,本文主要介绍flutter中实现下拉框的一个方案,基于DropdownButtonFormField来进行实现。 问题分析 DropdownButtonFormF...
    99+
    2023-09-05
    flutter android
  • flutter实现下拉菜单组件——基于PopupMenuButton
    问题背景 客户端日常开发和学习过程,下拉菜单是一个很常见的组件,本文主要介绍flutter中实现下拉菜单组件的一个方案,基于PopupMenuButton来进行实现。 问题分析 PopupMenuButton PopupM...
    99+
    2023-10-22
    flutter android ios
  • 基于JavaScript实现树形下拉框
    前言树形下拉框作为一种常见的表单元素,在Web开发中也是非常常见的。在大部分情况下,我们往往是通过静态的方式初始化下拉框的选项,然后通过JavaScript动态修改下拉框的选项。然而,在一些特殊的需求下,静态的下拉框已经不能满足要求了,我们...
    99+
    2023-05-14
  • 基于 jquery-cxselect 实现下拉联动效果功能实现
    目录写在前面功能实现1、导入脚本2、编写页面组件3、JSON 数据准备4、脚本编写补充:Jquery cxSelect多级联动下拉组件的使用写在前面 下拉联动效果是一个老生常谈的问题...
    99+
    2023-02-03
    jquery-cxselect 下拉联动 jquery-cxselect 联动
  • Flutter listview如何实现下拉刷新上拉加载更多功能
    目录下拉刷新 RefreshIndicator 上拉加载更多 总结:下拉刷新 在Flutter中系统已经为我们提供了google material design的刷新功能 , 样式...
    99+
    2022-11-12
  • EasyUI如何实现下拉框多选功能
    这篇文章给大家分享的是有关EasyUI如何实现下拉框多选功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:这个没什么说的,直接引入css和js文件和图片,调用js即可。下...
    99+
    2022-10-19
  • 基于vue2如何实现上拉加载功能
    这篇文章主要为大家展示了“基于vue2如何实现上拉加载功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于vue2如何实现上拉加载功能”这篇文章吧。具体内容如...
    99+
    2022-10-19
  • Flutter怎么实现自定义下拉选择框
    这篇“Flutter怎么实现自定义下拉选择框”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Flutter怎么实现自定义下拉选...
    99+
    2023-06-30
  • vue如何实现可搜索下拉框功能
    这篇文章主要为大家展示了“vue如何实现可搜索下拉框功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现可搜索下拉框功能”这篇文章吧。效果图:子组件...
    99+
    2022-10-19
  • Vue uni-app框架实现上拉加载下拉刷新功能
    目录实现上拉加载更多优化实现下拉刷新实现上拉加载更多 打开项目根目录中的pages.json配置文件,为subPackages分包中的商品goods_list页面配置上拉触底的距离:...
    99+
    2022-11-13
  • Vue vant-ui框架实现上拉加载下拉刷新功能
    目录知识点速记基本用法下拉刷新代码实现1.页面布局2.样式3.方法下拉刷新效果: 知识点速记 基本用法 List通过loading和finished两个变量控制加载状态,当组件滚动...
    99+
    2022-11-13
  • Flutter中怎么利用listview实现下拉刷新上拉加载更多功能
    这期内容当中小编将会给大家带来有关Flutter中怎么利用listview实现下拉刷新上拉加载更多功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下拉刷新在Flutter中系统已经为我们提供了googl...
    99+
    2023-06-20
  • Android Flutter基于WebSocket怎么实现即时通讯功能
    这篇文章主要介绍“Android Flutter基于WebSocket怎么实现即时通讯功能”,在日常操作中,相信很多人在Android Flutter基于WebSocket怎么实现即时通讯功能问题上存在疑惑,小编查阅了各...
    99+
    2023-06-29
  • 基于flutter sound插件实现录音与播放功能
    目录插件介绍:插件信息:插件使用前的准备工作设置麦克风权限描述权限管理插件 permission_handler音频硬件配置插件 audio_session动画插件常用的方法录音常见...
    99+
    2022-11-13
  • flutter 实现点击下拉栏微信右上角弹出窗功能
    先看效果实现 需求分析 这个是使用 PopupRoute这个路由类进行实现 大概原理就是利用PopupRpute这个类进行改造,然后自定义一个页面,页面内镶嵌一个动画类,用来实现缩...
    99+
    2022-11-12
  • 如何用PHP实现下拉框提交跳转功能
    这篇文章主要介绍“如何用PHP实现下拉框提交跳转功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用PHP实现下拉框提交跳转功能”文章能帮助大家解决问题。一、 下拉框基础知识在HTML中,下拉框...
    99+
    2023-07-05
  • 怎么用php实现下拉框选择日期功能
    本文小编为大家详细介绍“怎么用php实现下拉框选择日期功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用php实现下拉框选择日期功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。HTML基础概念首先了解如...
    99+
    2023-07-05
  • 怎么使用vue实现可搜索下拉框功能
    本篇内容主要讲解“怎么使用vue实现可搜索下拉框功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue实现可搜索下拉框功能”吧!效果图:子组件 DROPDOWN.VUE<...
    99+
    2023-07-04
  • vue 使用mescroll.js框架实现下拉加载和上拉刷新功能
    以下是代码是在项目中抽取出来的,都是实现下拉刷新上拉加载的要点。 注:以下不是用vue-cli写的,用vue-cli的请绕过,抱歉~ 1、mescroll 的页面的初始化 initM...
    99+
    2022-11-13
  • 基于Flutter实现手势密码加密与解锁功能
    目录前言1、绘制静态图形2、存储手势密码数据3、添加手势交互4、绘制、刷新密码线5、加入密码错误动画总结前言 密码的由来:在公元前405年,由古希腊和斯巴达的战争中,由于斯巴达盟友波...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作