0

我有一个带有 vbox 布局的容器,这个容器有一个工具栏和 5 个 formPanel(每个都有一个字段集)作为子级,我的问题是这 5 个 formPanel 中的每一个似乎都是可拖动的,这是我不想要的。我已经尝试了几种禁用拖动这些元素的能力的方法,但到目前为止它们都没有工作......我怎样才能达到这样的结果?

到目前为止,我尝试了一些禁用拖动的方法(除了通过我的控制器做类似的事情):

draggable: false,
disableSelection: true,
locked: true

MyConfigView.js:

Ext.define('MyApp.view.MyConfigView', {
    extend: 'Ext.Panel',
    alias: 'widget.myConfigview',
    config: {
        layout: {
            type: 'vbox',
            align: 'stretch',
            fullscreen: true,
            animation: {
                type: 'slide',
                direction: 'left',
                duration: 8000
            }
        },
        defaults: {
            flex: 1
        },
        items: [{
            docked: 'top',
            xtype: 'toolbar',
            ui: 'light',
            title: 'Ya',
            itemId: 'toolbarConfigView',
            items: [{
                xtype: 'button',
                ui: 'back',
                text: 'Voltar',
                action: 'voltarConfigView',
                itemId: 'myConfigViewVoltarBt'
            }]
        }, {
            xtype: 'formpanel',
            itemId: 'fieldSetAssalto',
            items: [{
                xtype: 'fieldset',
                title: 'Ya',
                model: 'MyApp.model.MyModel',
                items: [{
                    xtype: 'textfield',
                    name: 'numeroTelefone',
                    label: 'Ya'
                }, {
                    xtype: 'textfield',
                    name: 'mensagem',
                    label: 'Ya'
                }]
            }]
        }, {
            xtype: 'formpanel',
            itemId: 'fieldSetIncendio',
            items: [{
                xtype: 'fieldset',
                title: 'Ya',
                model: 'MyApp.model.MyModel',

                items: [{
                    xtype: 'textfield',
                    name: 'numeroTelefone',
                    label: 'Ya'
                }, {
                    xtype: 'textfield',
                    name: 'mensagem',
                    label: 'Ya'
                }]
            }]
        }, {
            xtype: 'formpanel',
            itemId: 'fieldSetSequestro',
            items: [{
                xtype: 'fieldset',
                title: 'Ya',

                model: 'MyApp.model.MyModel',


                items: [{
                    xtype: 'textfield',
                    name: 'numeroTelefone',
                    label: 'Ya'
                }, {
                    xtype: 'textfield',
                    name: 'mensagem',
                    label: 'Ya'
                }]
            }]
        }, {
            xtype: 'formpanel',
            itemId: 'fieldSetEmedico',
            items: [{
                xtype: 'fieldset',
                title: 'Ya',

                model: 'MyApp.model.MyModel',


                items: [{
                    xtype: 'textfield',
                    name: 'numeroTelefone',
                    label: 'Ya'
                }, {
                    xtype: 'textfield',
                    name: 'mensagem',
                    label: 'Ya'
                }]
            }]
        }, {
            xtype: 'formpanel',
            itemId: 'fieldSetAcidente',
            items: [{
                xtype: 'fieldset',
                title: 'Ya',
                model: 'MyApp.model.MyModel',
                items: [{
                    xtype: 'textfield',
                    name: 'numeroTelefone',
                    label: 'Ya'
                }, {
                    xtype: 'textfield',
                    name: 'mensagem',
                    label: 'Ya'
                }, {
                    xtype: 'button',
                    ui: 'confirm',
                    text: 'Save'
                }]
            }]
        }]
    }
});
4

2 回答 2

1

你的意思是拖动滚动?

如果是,请尝试:

scrollable: false
于 2013-05-27T06:58:04.930 回答
0

我有类似的情况,所以我向元素添加了一些指示符属性,告诉它是否可拖动,dragstart如果我检查目标元素是否可拖动,如果不是我停止拖动。我的方法看起来像这样:

    moreOptionsPanel.element.on("dragstart", function(evt){
        var isdraggable = event.target.getAttribute("isdraggable");
        if(isdraggable == "false")
        {
                var draggable = moreOptionsPanel.draggableBehavior.getDraggable();
                draggable.isDragging = false;
        }
    });

您应该能够放入isdraggable : false您的面板,或者如果您有 html,您可以将其作为属性并检查。基本上,您需要放置一些差异化因素,然后ondragstart您可以查看该元素或其任何父元素是否可拖动。

于 2013-05-28T06:48:41.023 回答