ある時点で別のページに移動するウィジェットがあります。お気に入り:-
Navigator.of(context).pushNamed(
NextPage.routeName,
arguments: {
"tag": this.tag,
"data": this.data,
},
);
argument
パラメータはタイプをObject
受け入れますがMap
、この文ではエラーが発生しないため、パラメータも受け入れます。
そして、NextPage
私は次のような値にアクセスしています:-
tag: ModalRoute.of(context).settings.arguments["tag"].toString(),
今vscodeは私にエラーを与えています:-
The operator '[]' isn't defined for the class 'Object'.
Try defining the operator '[]'.dart(undefined_operator)
なぜvscode
エラーが発生するのかわかりません。だから、どちらかObject
が必要です[]
またはMap
オブジェクトのタイプでなければなりません。
または、日付について明確ではない何かがあります。
注: data
はオブジェクトです。
このエラーを削除するにはどうすればよいですか?
ModalRoute.settings.arguments
タイプがObject
。のプロパティです。でインデクサー[]
を呼び出すことはできませんObject
。Dartのすべてはから継承されObject
ますModalRoute
。そのため、引数が何であれ、引数を渡すことができます。ただし、これを使用するには、最初に、使用する予定のタイプにキャストする必要があります。
tag: (ModalRoute.of(context).settings.arguments as Map)["tag"].toString(),
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加