2017-07-03 4 views
0

にQQmlListReferenceを割り当てることができません。だから私は、リストのモデルや代表者との楽しい問題を抱えていたQStringの

私はこのエラーを得たリストモデルに新しいelemetsを追加しようとした
ListView{ 
.... 
    delegate: Component { 
     Text{ 
      text: data 
     } 
    } 
} 
... 

ListModel { 
    id: captureModel 
} 

... 

function updateList() { 
    ... 
    for (var i = 0; i < list.rows.length; ++i) { 
     captureModel.append({"data": list.rows.item(i).data}); 
    } 
} 

:「QStringのにQQmlListReferenceを割り当てることができません」私は最終的に問題が私のリスト要素がデータと呼ばれていることを理解しました。私はちょうどそれを何か他の名前にしました。私はこの問題は、「データ」は予約語だったことだと思ったが、私はどちらかのJavascriptやQMLリストでそれを見つけることができませんでした。 qmlの公式予約語は見つかりませんでした。だから皆さんはもっと完全なリストを知っていますか?私は再びこのような予約語を見つけるか、問題は実際に私はそのための答えを聞きたいだろう何か他のものであれば避けるために好きになるでしょう。

https://www.w3schools.com/js/js_reserved.asp(Javascriptを):

これらは私が見ていたリストです。事前に

https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=4cc61d0449ed463408633016759694bc59badc04(QML)

感謝!!

答えて

1

あなたはあなたのリストの要素の役割がdataと呼ばれているので、あなたの問題であることを右です。

text: dataを実行すると、テキスト項目のdata propertyにアクセスしているという根本的な問題があります。あなたのモデルデータは、プロパティによって影を付けられます。

は、安全のために、デリゲートのプロパティを持つ命名の衝突を避けるために modelであなたの役割へのアクセスの前に付けます。あなたの場合は text: model.dataになります。

dataはそれだけで、あなたのデリゲートのプロパティの1つの名前であることを起こる、予約済みのキーワードではありません。

関連する問題