我是Sencha touch API的初学者。我真的很难使用Sencha touch lib制作UI组件。我创建了一些示例UI。但是现在它本质上是静态的。我怎样才能让它充满活力。动态意味着我希望我的JSON响应决定要在屏幕上添加的组件。我怎样才能做到这一点。请帮帮我。
Ext.setup({
icon: 'icon.png',
tabletStartupScreen: 'tablet_startup.png',
phoneStartupScreen: 'phone_startup.png',
glossOnIcon: false,
onReady: function() {
var form;
var formBase = {
scroll : 'vertical',
standardSubmit : false,
items: [
{
xtype: 'fieldset',
title: 'Login Screen',
instructions: 'Enter agent number and password to login.',
defaults: {
required: true,
labelAlign: 'left',
labelWidth: '45%'
},
items: [
{
xtype: 'textfield',
name : 'username',
label: 'Agent Number',
useClearIcon: true
}, {
xtype: 'passwordfield',
name : 'password',
label: 'Password',
useClearIcon: false
}]
}],
listeners : {
submit : function(form, result){
console.log('success', Ext.toArray(arguments));
},
exception : function(form, result){
console.log('failure', result);
}
},
dockedItems: [
{
xtype: 'toolbar',
dock: 'bottom',
items: [
{
text: 'Exit',
ui: 'exit',
handler: function() {
alert('Are you sure ?');
}
},
{
text: 'Login',
ui: 'confirm',
handler: function() {
alert('Login please wait..');
}
}
]
}
]
};
if (Ext.is.Phone) {
formBase.fullscreen = true;
} else {
Ext.apply(formBase, {
autoRender: true,
floating: true,
modal: true,
centered: true,
hideOnMaskTap: false,
height: 385,
width: 480
});
}
form = new Ext.form.FormPanel(formBase);
form.show();
}
});
答案 0 :(得分:3)
要向面板添加项目,请使用panel.items.add(list);
,然后不要忘记致电panel.doLayout();
。请参阅此问题,例如Calling the items.add method twice causes the two items to overlap on the card
答案 1 :(得分:0)
Dyanmic forms from json file in sencha touch
检查此链接我已经为此发布了解决方案。您只需要通过JSON发送视图的xtype。无论您想要什么。 我还发布了json文件和代码来创建动态视图.hOpe它会帮助你