2016-12-15 149 views

回答

1

我根據我從服務器獲取的類型屬性在屏幕上呈現不同的UI控件。 我使用的ListView如下

<ListView 
enableEmptySections = {true} 
style={{flex:1}} 
dataSource={ds.cloneWithRows(data)} 
renderRow= 
{ 
(data, secId, rowId, rowMap) => 
    { 
return this.renderRow(data, secId, rowId, rowMap); 
    } 
} 
/> 

,我從服務器得到的數據是按以下格式

[{類型: '文本',標籤: 'LABEL1'},{類型:「複選框',label:'label2'}];

在renderRow方法

,根據數據類型我呈現不同的UI控件

renderRow(data, secId, rowId, rowMap) { 
    if (data.type=='Text') 
    { 
    var contentRow = <TextInput style={styles.InputRowBox} />; 
    return (contentRow); 
    } 
    else if (data.type=='CheckBox') 
    { 
    var notificationRow = <CheckBox style={styles.checkboxStyle} /> 
    return (notificationRow); 
    } 
} 

注:CheckBox控件來工作,你將需要添加複選框包,我從這個link

添加