我创建了两个表单,并将它们添加到一个 PageView。每个表单有 6 个 TextFormField。当我点击最后 2 个 TextFormField 时,键盘会显示在这些字段上并隐藏它们。我需要的是当我点击每个字段并且键盘可见时向上滚动表单以显示这些字段。对于这种方法,我尝试像示例中那样在 PageView 下使用 SingleChildScrollView,但它没有做我需要的。我怎样才能解决这个问题?
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomPadding: false,
body: PageView(
children: <Widget>[
_sampleForm(),
_sampleForm(),
],
),
)
}
_sampleForm(){
return Container(
margin: const EdgeInsets.fromLTRB(0, 0, 0, 10),
width: MediaQuery.of(context).size.width,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Form(
child: Column(
children: <Widget>[
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
],
),
),
],
),
),
);
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
$nav_menu_args = array('fallback_cb' => '','menu' => 'menu', 'menu_class' => 'menu_class');
$x = wp_nav_menu( apply_filters( 'widget_nav_menu_args', $nav_menu_args, 'menu', $args ) );
$pattern = '#<ul([^>]*)>#i';
$replacement = '<ul$1 data-attr="abc">'; // this is a wrong
echo preg_replace( $pattern, $replacement, $x );
Run Code Online (Sandbox Code Playgroud)
我想一个添加data-attr
到ul
通过改变模式,而无需通过更改Walker_Nav_Menu
.
我想要做的是有一个这样的列表:
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul>
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是我也data-attr
喜欢这样的内心.
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul data-attr="abc">
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我向 PageView 添加了 2 个表单小部件。每个表单有 6 个 TextFormField。当我点击任一表单中的最后 2 个 TextFormField 时,键盘会显示在字段上并将它们隐藏给用户。
我尝试在 PageView 中使用 SingleChildScrollView,但没有成功。
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomPadding: false,
body: PageView(
children: <Widget>[
_sampleForm(),
_sampleForm(),
],
),
)
}
_sampleForm(){
return Container(
margin: const EdgeInsets.fromLTRB(0, 0, 0, 10),
width: MediaQuery.of(context).size.width,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Form(
child: Column(
children: <Widget>[
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
TextFormField(...),
],
),
),
],
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
我需要的是在点击 TextFormFields 时自动向上滚动,并且还能够水平滑动 PageView,