我在我的QML文件中有一個100元素的「input0」到「input99」的id,它具有一個名爲text的字符串類型的屬性,我想要使用一個循環來推動所有的字符串轉換成在JavaScript 一個數組我試圖用一個循環像這樣和但沒有任何工程和陣列保持爲空:如何使用一個變量作爲QML元素ID
function gather(){
var array=[]
for (var i =0;i<100;i++){
{array.push(("input"+i).text;
console.log(array[i];}
}
我得到以下日誌:
(gather): qml: undefined
我在QtQuick 2.7
我該怎麼做?
編輯:隨着真皮的建議,它嘗試了以下內容:
Flickable{
TextField{
id:input1
text:"text1"
}
TextField{
id:input2
text:"text2"
}
TextField{
id:input3
text:"text3"
}
TextField{
id:input4
text:"text4"
}
Component.onCompleted: {
var textArray=[]
for (var i = 1; i < 5; i++) {
var c = Qt.createQmlObject("import QtQuick 2.0; QtObject { function f() { return input" + i + ".text } }", this, "none")
textArray.push(c.f())
console.log(textArray[i])
c.destroy()
}
}
}
它仍然無法正常工作。我做錯了什麼?
修復代碼這些輸入孩子的'Item'? – derM
它的TextField的大部分元素 –
我沒有問,你的輸入是什麼樣的'Item'。我正在問他們的父母。他們都是同一個「物品」的孩子嗎? – derM