在我的应用程序中,我需要创建一个简单的动态ui,它必须从来自服务器的内容创建。有没有办法从字符串内容渲染视图?
答案 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
中添加了