QML Loader的用法

function initData()
{
var len = jsonData.length;
var dataT = [];
var dType = [];
var radioInput = [];
for( var i = 0; i < len; i++)
{
var str= jsonData[ i].title;
dataTitle.push( str);
var strInfo= jsonData[ i].info;
var nType = strInfo.nType;
var bTitle = strInfo.bTitle;
var raidos = strInfo.select;

//dataListNType.push(nType);
//dataListTitle.push(bTitle);
dataT.push( bTitle);
dType.push( nType);
dataListTitle = dataT; //注意 初始化数据的时候,不会检测dataList里面的数据是否变化,需要重新赋值
dataListNType = dType;
radioInput.push( raidos);

}
radioAndInput = radioInput;
}

Component
{
id: dlgRec;
RadioComponent
{
id: radiocom;
width: listviewer.width;
height: 40* pixelRate;
grouptitle: qsTr( "%1").arg( dataListTitle[modelIndex]);
firstRadio: qsTr( "%1").arg( radioAndInput[modelIndex][0]);
secondRadio: qsTr( "%1").arg( radioAndInput[modelIndex][1]);
visible: listviewer.isHiden;
}

}

Component
{
id: dlgInput;
SelfInput
{
id: hjsdInput;
width: listviewer.width;
name: qsTr( "%1").arg( dataListTitle[modelIndex]);
txtTitle: qsTr( "%1").arg( radioAndInput[modelIndex][0]);
dataValue: qsTr( "%1").arg( radioAndInput[modelIndex][1]);
visible: listviewer.isHiden;
}

}


ListView
{
id: listviewer;
width: parent.width;
anchors.top: parent.top;
anchors.bottom: bottombtn.top;
model: 1;
//delegate: dlgRec;
property bool isHiden: true;
delegate: Component
{
Loader {
width: listviewer.width;
property int modelIndex: index
sourceComponent: dataListNType[index] === 1 ? dlgRec : dlgInput;
}
}

猜你喜欢

转载自blog.csdn.net/qq_16628589/article/details/79639673
QML
今日推荐