gpt4 book ai didi

javascript - 在推送 View 上隐藏按钮并在返回 ListView 时显示它

转载 作者:行者123 更新时间:2023-11-30 13:14:06 26 4
gpt4 key购买 nike

当我加载我的 ListView 时,它有几篇博文和左上角的刷新按钮。

如果我点击一个列表项,就会推送一个包含该特定帖子内容的 View 。当这个 View 被插入时,刷新按钮被隐藏。

但是当我点击“返回”到父 ListView 时,我希望刷新按钮显示(取消隐藏)- 但它仍然隐藏。

知道如何让它发挥作用吗?

这是我的观点:

Ext.require(['Ext.data.Store', 'MyApp.model.StreamModel'], function() {
Ext.define('MyApp.view.HomeView', {
extend: 'Ext.navigation.View',
xtype: 'homepanel',

requires: [
'Ext.dataview.List',
],

config: {
title: 'Home',
iconCls: 'home',
styleHtmlContent: true,
navigationBar: {
items: [
{
xtype: 'button',
iconMask: true,
iconCls: 'refresh',
align: 'left',
action: 'refreshButton',
id: 'refreshButtonId'
}
]
},
items: {
title: 'My',
xtype: 'list',
itemTpl: [
'<div class="post">',
...
'</div>'

].join(''),

store: new Ext.data.Store({
model: 'MyApp.model.StreamModel',
autoLoad: true,
storeId: 'stream'
}),
}
}
});
});

和我的 Controller :

Ext.define('MyApp.controller.SingleController', {
extend: 'Ext.app.Controller',
config: {
refs: {
stream: 'homepanel'
},
control: {
'homepanel list': {
itemtap: 'showPost'
}
}
},

showPost: function(list, index, element, record) {

this.getStream().push({
xtype: 'panel',
html: [
'<div class="post">',
'</div>'

].join(''),
scrollable: 'vertical',
styleHtmlContent: true,
});

Ext.getCmp('refreshButtonId').hide();
}
});

最佳答案

我不确定这是否是最好的方法,但如果我是你,我会使用 back event点击后退按钮时触发的导航 View

所以除了 showPost 函数,你应该为返回事件添加另一个控件,如下所示:

'homepanel list': {
itemtap: 'showPost'
},
stream: {
back: 'backButtonHandler'
}

然后您可以运行backButtonHandler 函数再次显示您的刷新按钮:

backButtonHandler: function(button){
Ext.getCmp('refreshButtonId').show();
}

希望对您有所帮助:)

关于javascript - 在推送 View 上隐藏按钮并在返回 ListView 时显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com