React本机动态运行时ui创建

时间:2016-12-15 14:27:53

标签: user-interface dynamic react-native runtime generator

在我的应用程序中,我需要创建一个简单的动态ui,它必须从来自服务器的内容创建。有没有办法从字符串内容渲染视图?

1 个答案:

答案 0 :(得分: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);
    }
}
/>

我从服务器获取的数据采用以下格式

[{type:&#39; Text&#39;,label:&#39; label1&#39;},{type:&#39; Checkbox&#39;,label:&#39; label2&#39; }];

在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

中添加了