From dfd42444e9b761f5006d42ed8160feee85daa084 Mon Sep 17 00:00:00 2001 From: Taha Tesser Date: Tue, 15 Feb 2022 19:10:20 +0200 Subject: [PATCH] Update `CupertinoTextField` example (#93738) --- .../text_field/cupertino_text_field.0.dart | 57 +++++++++++++++++++ .../text_field/cupertino_text_field.0.dart | 16 ++++++ .../flutter/lib/src/cupertino/text_field.dart | 32 ++--------- 3 files changed, 77 insertions(+), 28 deletions(-) create mode 100644 examples/api/lib/cupertino/text_field/cupertino_text_field.0.dart create mode 100644 examples/api/test/cupertino/text_field/cupertino_text_field.0.dart diff --git a/examples/api/lib/cupertino/text_field/cupertino_text_field.0.dart b/examples/api/lib/cupertino/text_field/cupertino_text_field.0.dart new file mode 100644 index 00000000000..30d0e6fa237 --- /dev/null +++ b/examples/api/lib/cupertino/text_field/cupertino_text_field.0.dart @@ -0,0 +1,57 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flutter code sample for CupertinoTextField + +import 'package:flutter/cupertino.dart'; + +void main() => runApp(const MyApp()); + +class MyApp extends StatelessWidget { + const MyApp({Key? key}) : super(key: key); + + static const String _title = 'Flutter Code Sample'; + + @override + Widget build(BuildContext context) { + return const CupertinoApp( + title: _title, + home: MyStatefulWidget(), + ); + } +} + +class MyStatefulWidget extends StatefulWidget { + const MyStatefulWidget({Key? key}) : super(key: key); + + @override + State createState() => _MyStatefulWidgetState(); +} + +class _MyStatefulWidgetState extends State { + late TextEditingController _textController; + + @override + void initState() { + super.initState(); + _textController = TextEditingController(text: 'initial text'); + } + + @override + void dispose() { + _textController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return CupertinoPageScaffold( + child: Center( + child: CupertinoTextField( + controller: _textController, + ) + ), + ); + } +} diff --git a/examples/api/test/cupertino/text_field/cupertino_text_field.0.dart b/examples/api/test/cupertino/text_field/cupertino_text_field.0.dart new file mode 100644 index 00000000000..9be9c55e9de --- /dev/null +++ b/examples/api/test/cupertino/text_field/cupertino_text_field.0.dart @@ -0,0 +1,16 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_api_samples/cupertino/text_field/cupertino_text_field.0.dart' as example; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('CupertinoTextField has initial text', (WidgetTester tester) async { + await tester.pumpWidget( + const example.MyApp(), + ); + + expect(find.text('initial text'), findsOneWidget); + }); +} diff --git a/packages/flutter/lib/src/cupertino/text_field.dart b/packages/flutter/lib/src/cupertino/text_field.dart index 618defea5c9..7bdbd73eddf 100644 --- a/packages/flutter/lib/src/cupertino/text_field.dart +++ b/packages/flutter/lib/src/cupertino/text_field.dart @@ -139,35 +139,11 @@ class _CupertinoTextFieldSelectionGestureDetectorBuilder extends TextSelectionGe /// /// {@macro flutter.widgets.EditableText.onChanged} /// -/// To control the text that is displayed in the text field, use the -/// [controller]. For example, to set the initial value of the text field, use -/// a [controller] that already contains some text such as: +/// {@tool dartpad} +/// This example shows how to set the initial value of the `CupertinoTextField` using +/// a [controller] that already contains some text. /// -/// {@tool snippet} -/// -/// ```dart -/// class MyPrefilledText extends StatefulWidget { -/// const MyPrefilledText({Key? key}) : super(key: key); -/// -/// @override -/// State createState() => _MyPrefilledTextState(); -/// } -/// -/// class _MyPrefilledTextState extends State { -/// late TextEditingController _textController; -/// -/// @override -/// void initState() { -/// super.initState(); -/// _textController = TextEditingController(text: 'initial text'); -/// } -/// -/// @override -/// Widget build(BuildContext context) { -/// return CupertinoTextField(controller: _textController); -/// } -/// } -/// ``` +/// ** See code in examples/api/lib/cupertino/text_field/cupertino_text_field.0.dart ** /// {@end-tool} /// /// The [controller] can also control the selection and composing region (and to