创建多个初始路径

可能真的很简单,但是我试图在主页上创建另一个按钮以遵循另一条路线。

当前只有一个按钮可以将您带到路径X(又名“第一屏幕/主页”),但是我希望另一个按钮可以将您带到路径Y。请问有什么建议吗?

提前加油! (对不起,您仍然无法掌握术语)

void main() {
  runApp(MaterialApp(
   title: 'Named Routes Demo',initialRoute: '/',routes: {
  '/': (context) => FirstScreen(),'/second': (context) => SecondScreen(),'/second/third': (context) => ThirdScreen(),},)
  );
 }

class FirstScreen extends StatelessWidget {
  @override
   Widget build(BuildContext context) {
   return Scaffold(
  appBar: AppBar(
    title: Text('Home Page'),),body: Center(
    child: RaisedButton(
      child: Text('Search'),onpressed: () {
           Navigator.pushNamed(context,'/second');
             },);
      }
    }

  class SecondScreen extends StatelessWidget {
  @override
   Widget build(BuildContext context) {
    return Scaffold(
     appBar: AppBar(
    title: Text('Results Page'),body: Center(
    child: RaisedButton(
      child: Text('Click this result'),onpressed: () {
        Navigator.pushNamed(context,'/second/third');
      },);
}
}

class ThirdScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
return Scaffold(
  appBar: AppBar(
    title: Text("Items Page"),body: Center(
    child: RaisedButton(
          onpressed: () {
        Navigator.pop(context);
      },child: Text('This is the item!'),);
  }
}
zhaofc 回答:创建多个初始路径

您可以使用onGenerateRoute参数来代替使用路由

Center(
  child: Column(
    children: [
      RaisedButton(
        child: Text('Button one text'),onPressed: () => Navigator.pushNamed(context,'/second'),),RaisedButton(
        child: Text('Button two text'),'/second/third'),],

您可以将此逻辑更改为使用settings.name所需的任何方式

要在首页上添加另一个按钮,对于此简单代码,您可以使用Column小部件,这是示例

def cambio= {
    def respuesta = [error: 1]
    SecUser user = springSecurityService.currentUser


    if (params?.j_password && params?.password && params?.old_password) {
        String oldPasword=params?.old_password
        String newPassword = params.j_password
        String newPassword2 = params.password

        if    (!springSecurityService.passwordEncoder.isPasswordValid(user.getPassword(),oldPasword,null)) {

            respuesta.error=3
            render respuesta as JSON
        }else if(newPassword == newPassword2) {

        user.setPassword(params.j_password)
        user.save()
        respuesta.error=0
        render respuesta as JSON
      }else
      {
          respuesta.error=2
          render respuesta as JSON
      }

    }else{
    render respuesta as JSON
    }
}`
本文链接:https://www.f2er.com/3142744.html

大家都在问