Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振标记:标记不可识别_Flutter - Fatal编程技术网

Flutter 颤振标记:标记不可识别

Flutter 颤振标记:标记不可识别,flutter,Flutter,我正在尝试使用颤振标签和计划来获取并保存到数据库 我正在使用颤振标签插件。下面是我试图复制的示例 这是照片 我正在使用这个版本 flutter_tagging: ^2.2.0+3 您可以复制粘贴运行下面的完整代码 您的代码使用flatter\u标记version1.0.0,您可以在pubspec.yaml中设置 设置版本后,语法错误将消失 dependencies: flutter: sdk: flutter flutter_tagging: 1.0.0 对于最新版本的2

我正在尝试使用颤振标签和计划来获取并保存到数据库

我正在使用颤振标签插件。下面是我试图复制的示例

这是照片

我正在使用这个版本

flutter_tagging: ^2.2.0+3

您可以复制粘贴运行下面的完整代码
您的代码使用
flatter\u标记
version
1.0.0
,您可以在pubspec.yaml中设置
设置版本后,语法错误将消失

dependencies:
  flutter:
    sdk: flutter
  flutter_tagging: 1.0.0
对于最新版本的
2.2.0+3
,您可以直接使用
1.0.0版的工作演示

完整代码

import 'package:flutter/material.dart';
import 'package:flutter_tagging/flutter_tagging.dart';

class Tagging extends StatefulWidget {
  @override
  _TaggingState createState() => _TaggingState();
}

class _TaggingState extends State<Tagging> {
  final _scaffoldKey = GlobalKey<ScaffoldState>();
  String _selectedValuesJson = 'Nothing to show';
  List searchlists = [];
  var dtguid;
  var dtgname;
  int count = 0;
  var offset = 0;
  String nodata;

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  String text = "Nothing to show";

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      appBar: AppBar(
          //  title: Text(widget.title),
          ),
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: FlutterTagging(
                textFieldDecoration: InputDecoration(
                    border: OutlineInputBorder(),
                    hintText: "Tags",
                    labelText: "Enter tags"),
                addButtonWidget: _buildAddButton(),
                chipsColor: Colors.pinkAccent,
                chipsFontColor: Colors.white,
                deleteIcon: Icon(Icons.cancel, color: Colors.white),
                chipsPadding: EdgeInsets.all(2.0),
                chipsFontSize: 14.0,
                chipsSpacing: 5.0,
                chipsFontFamily: 'helvetica_neue_light',
                suggestionsCallback: (pattern) async {
                  return await TagSearchService.getSuggestions(pattern);
                },
                onChanged: (result) {
                  setState(() {
                    text = result.toString();
                  });
                },
              ),
            ),
            SizedBox(
              height: 20.0,
            ),
            Center(
              child: Text(
                text,
                style: TextStyle(color: Colors.pink),
              ),
            )
          ],
        ),
      ),
    );
  }

  Widget _buildAddButton() {
    return Container(
      padding: EdgeInsets.all(8.0),
      decoration: BoxDecoration(
        borderRadius: BorderRadius.all(Radius.circular(20.0)),
        color: Colors.pinkAccent,
      ),
      child: Row(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          Icon(
            Icons.add,
            color: Colors.white,
            size: 15.0,
          ),
          Text(
            "Add New Tag",
            style: TextStyle(color: Colors.white, fontSize: 14.0),
          ),
        ],
      ),
    );
  }
}

class TagSearchService {
  static Future<List> getSuggestions(String query) async {
    await Future.delayed(Duration(milliseconds: 400), null);
    List<dynamic> tagList = <dynamic>[];
    tagList.add({'name': "Flutter", 'value': 1});
    tagList.add({'name': "HummingBird", 'value': 2});
    tagList.add({'name': "Dart", 'value': 3});
    List<dynamic> filteredTagList = <dynamic>[];
    if (query.isNotEmpty) {
      filteredTagList.add({'name': query, 'value': 0});
    }
    for (var tag in tagList) {
      if (tag['name'].toLowerCase().contains(query)) {
        filteredTagList.add(tag);
      }
    }
    return filteredTagList;
  }
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Tagging(),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“包装:颤振标签/颤振标签.dart”;
类标记扩展了StatefulWidget{
@凌驾
_TaggingState createState()=>U TaggingState();
}
类_标记状态扩展状态{
最终_scaffoldKey=GlobalKey();
字符串_selectedValuesJson='无需显示';
列表搜索列表=[];
var-dtguid;
var-dtgname;
整数计数=0;
var偏移=0;
字符串nodata;
@凌驾
void initState(){
super.initState();
}
@凌驾
无效处置(){
super.dispose();
}
String text=“无需显示”;
@凌驾
小部件构建(构建上下文){
返回脚手架(
钥匙:_scaffoldKey,
appBar:appBar(
//标题:文本(widget.title),
),
正文:SingleChildScrollView(
子:列(
儿童:[
填充物(
填充:常数边集全部(8.0),
孩子:是的(
text字段装饰:输入装饰(
边框:OutlineInputBorder(),
hintText:“标签”,
labelText:“输入标签”),
addButtonWidget:\u buildAddButton(),
chipsColor:Colors.pinkAccent,
chipsFontColor:颜色。白色,
删除图标:图标(Icons.cancel,颜色:Colors.white),
切屑铲:边缘集。全部(2.0),
芯片字体大小:14.0,
芯片空间:5.0,
家庭芯片:“helvetica_neue_light”,
suggestionsCallback:(模式)异步{
return wait TagSearchService.getSuggestions(模式);
},
一旦更改:(结果){
设置状态(){
text=result.toString();
});
},
),
),
大小盒子(
身高:20.0,
),
居中(
子:文本(
文本,
样式:TextStyle(颜色:Colors.pink),
),
)
],
),
),
);
}
小部件_buildAddButton(){
返回容器(
填充:边缘设置。全部(8.0),
装饰:盒子装饰(
borderRadius:borderRadius.all(半径圆形(20.0)),
颜色:Colors.pinkAccent,
),
孩子:排(
mainAxisSize:mainAxisSize.min,
儿童:[
图标(
Icons.add,
颜色:颜色,白色,
尺寸:15.0,
),
正文(
“添加新标签”,
样式:TextStyle(颜色:Colors.white,fontSize:14.0),
),
],
),
);
}
}
类标记搜索服务{
静态未来getSuggestions(字符串查询)异步{
等待未来。延迟(持续时间(毫秒:400),空);
列表标记列表=[];
添加({'name':'flatter','value':1});
添加({'name':'HummingBird','value':2});
添加({'name':'Dart','value':3});
列表filteredTagList=[];
if(query.isNotEmpty){
添加({'name':查询,'value':0});
}
for(标记列表中的var标记){
if(标记['name'].toLowerCase().contains(查询)){
filteredTagList.add(标签);
}
}
返回filteredTagList;
}
}
void main(){
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
视觉密度:视觉密度。自适应平台密度,
),
主页:标记(),
);
}
}

您可以复制粘贴运行下面的完整代码
您的代码使用
flatter\u标记
version
1.0.0
,您可以在pubspec.yaml中设置
设置版本后,语法错误将消失

dependencies:
  flutter:
    sdk: flutter
  flutter_tagging: 1.0.0
对于最新版本的
2.2.0+3
,您可以直接使用
1.0.0版的工作演示

完整代码

import 'package:flutter/material.dart';
import 'package:flutter_tagging/flutter_tagging.dart';

class Tagging extends StatefulWidget {
  @override
  _TaggingState createState() => _TaggingState();
}

class _TaggingState extends State<Tagging> {
  final _scaffoldKey = GlobalKey<ScaffoldState>();
  String _selectedValuesJson = 'Nothing to show';
  List searchlists = [];
  var dtguid;
  var dtgname;
  int count = 0;
  var offset = 0;
  String nodata;

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  String text = "Nothing to show";

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      appBar: AppBar(
          //  title: Text(widget.title),
          ),
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: FlutterTagging(
                textFieldDecoration: InputDecoration(
                    border: OutlineInputBorder(),
                    hintText: "Tags",
                    labelText: "Enter tags"),
                addButtonWidget: _buildAddButton(),
                chipsColor: Colors.pinkAccent,
                chipsFontColor: Colors.white,
                deleteIcon: Icon(Icons.cancel, color: Colors.white),
                chipsPadding: EdgeInsets.all(2.0),
                chipsFontSize: 14.0,
                chipsSpacing: 5.0,
                chipsFontFamily: 'helvetica_neue_light',
                suggestionsCallback: (pattern) async {
                  return await TagSearchService.getSuggestions(pattern);
                },
                onChanged: (result) {
                  setState(() {
                    text = result.toString();
                  });
                },
              ),
            ),
            SizedBox(
              height: 20.0,
            ),
            Center(
              child: Text(
                text,
                style: TextStyle(color: Colors.pink),
              ),
            )
          ],
        ),
      ),
    );
  }

  Widget _buildAddButton() {
    return Container(
      padding: EdgeInsets.all(8.0),
      decoration: BoxDecoration(
        borderRadius: BorderRadius.all(Radius.circular(20.0)),
        color: Colors.pinkAccent,
      ),
      child: Row(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          Icon(
            Icons.add,
            color: Colors.white,
            size: 15.0,
          ),
          Text(
            "Add New Tag",
            style: TextStyle(color: Colors.white, fontSize: 14.0),
          ),
        ],
      ),
    );
  }
}

class TagSearchService {
  static Future<List> getSuggestions(String query) async {
    await Future.delayed(Duration(milliseconds: 400), null);
    List<dynamic> tagList = <dynamic>[];
    tagList.add({'name': "Flutter", 'value': 1});
    tagList.add({'name': "HummingBird", 'value': 2});
    tagList.add({'name': "Dart", 'value': 3});
    List<dynamic> filteredTagList = <dynamic>[];
    if (query.isNotEmpty) {
      filteredTagList.add({'name': query, 'value': 0});
    }
    for (var tag in tagList) {
      if (tag['name'].toLowerCase().contains(query)) {
        filteredTagList.add(tag);
      }
    }
    return filteredTagList;
  }
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Tagging(),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“包装:颤振标签/颤振标签.dart”;
类标记扩展了StatefulWidget{
@凌驾
_TaggingState createState()=>U TaggingState();
}
类_标记状态扩展状态{
最终_scaffoldKey=GlobalKey();
字符串_selectedValuesJson='无需显示';
列表搜索列表=[];
var-dtguid;
var-dtgname;
整数计数=0;
var偏移=0;
字符串nodata;
@凌驾
void initState(){
super.initState();
}
@凌驾
无效处置(){
super.dispose();
}
String text=“无需显示”;
@凌驾
小部件构建(构建上下文){
返回脚手架(
钥匙:_scaffoldKey,
appBar:appBar(
//标题:文本(widget.title),
),
正文:SingleChildScrollView(
子:列(
儿童:[
填充物(
填充:常数边集全部(8.0),
孩子:是的(
text字段装饰:输入装饰(
边框:OutlineInputBorder(),
hintText:“标签”,
labelText:“输入标签”),
addButtonWidget:\u buildAddButton(),
chipsColor:Colors.pinkAccent,
chipsFontColor:颜色。白色,
删除图标:图标(Icons.cancel,颜色:Colors.white),
切屑铲:边缘集