2016-12-15 10 views
2

В моем приложении мне нужно создать простой динамический ui, который должен быть создан из контента, поступающего с сервера. есть ли способ визуализации представления из строкового содержимого?Реагировать на встроенную динамическую среду выполнения ui

ответ

1

Я обрабатываю различные элементы управления пользовательского интерфейса на экране, основываясь на атрибуте типа, который я получаю с сервера. Я использую ListView следующим

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

данные, которые я получаю от сервера в следующем формате

[{тип: 'Текст', метка: 'label1'}, {типа: «Checkbox ', label:' label2 '}];

в методе renderRow, основанный на типе данных Оказываю различные элементы управления пользовательского интерфейса

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