2016-09-14 69 views
0

幫我用我的代碼。它返回[object Object]。我怎麼能回到它作爲按鈕ExtJs網格顯示爲[object Object]

{ 
    xtype: 'gridcolumn', 
    width: 100, 
    header: 'Apply Action', 
    dataIndex: 'Test', 
    sortable: false, 
    renderer: function(value, metadata, record, rowIndex, colIndex, store) { 
     var hasAutoAction = record.data.autoActions; 
     if(hasAutoAction.length == 0){ 
     return ''; 
    } 

    return '<input type="button" onClick="buttonclick(event)" id="btn" value="Apply"/>' 
    var buttonclick = function (event) { 
     alert('Clicked') 
    } 
} 
+0

你可以給你完整的代碼中的功能,你試圖返回'button'。其實'按鈕'是一個對象。你可以用這種方式返回對象。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString – UDID

+0

請多給點關於你的功能的信息。 – UDID

+1

嗨,像這樣的問題http://stackoverflow.com/questions/5015453/why-is-the-button-in-my-extjs-grid-appearing-as-object-object – Potatooo

回答

1

你不能用這種方式回報object,因此您收到此錯誤。無論如何,根據我的理解,你想要網格中的按鈕,然後點擊按鈕顯示內容。爲此,您不需要在渲染器中編寫代碼。在您之前的代碼中,您也嘗試過return button,其中button是無效的對象。

您可以更改代碼設計並將按鈕放置在tbarbbar中。

示例代碼:

bbar: [ 
    { xtype: 'button', 
    text: 'Button 1', 
    handler: function() { 
    alert('You clicked the button!'); 
    } 
    } 
], 

我爲您創建一個Fiddle。試試這個並理解。它會工作。

+0

我仍然需要將它放在渲染器上,因爲它會動態顯示。並且必須使用返回按鈕調用一個函數。 – Potatooo

+0

這與這個問題是一樣的http://stackoverflow.com/questions/5015453/why-is-the-button-in-my-extjs-grid-appearing-as-object-object 他提供了屏幕截圖。 – Potatooo

+0

@Potatooo你想要動態顯示按鈕嗎? – UDID

2

請看看widgetcolumn,它應該做的正是你想要的,但ExtJS的方式:

xtype:'widgetcolumn', 
widget:{ 
    xtype:'button', 
    handler:function(btn) { 
     Ext.Msg.alert('Clicked','Clacked'); 
    } 
} 
+0

嗨,我可以退貨嗎? return xtype:'widgetcolumn', widget:{ xtype:'button', handler:function(btn){ Ext.Msg.alert('Clicked','Clacked'); } } – Potatooo

+1

你不能返回任何東西。你必須用渲染器放棄你的想法,並用'widgetcolumn'完全替換你的'gridcolumn'! – Alexander

+0

你也可以看看這個問題http://stackoverflow.com/questions/5015453/why-is-the-button-in-my-extjs-grid-appearing-as-object-object我們基本上有同樣的問題.. – Potatooo

相關問題