2016-12-19 63 views
1

我想在inspector的displayName編輯文本上寫一些東西,將它傳遞給每個元素的收件箱名稱。 enter image description here如何在jointJS中的元素框中複製檢查器編輯文本值 - Rappid

我的javascript代碼如下:

var count = 0; 
//Code to edit element inboxName with value given from displayName field 
       cell.on('change:wi_displayName', function(cell, change, opt) { 

        if(count == 0){ 
        //Do nothing the 1st time 
        } 
        else { 
         var inboxName = cell.get('wi_displayName'); 
         cell.set(cell.attr('text/text'), inboxName); 

        } 
        count++; 

       }) 
//End of code to edit element inboxName with value given from displayName field 

但問題是,在最後一行:

cell.set(cell.attr('text/text'), inboxName); 

我應該如何設置的值?

我對這個元素模板JSON是:

new joint.shapes.basic.Circle({ 
      size: { width: 5, height: 3 }, 
      attrs: { 
       circle: { width: 50, height: 30, fill: '#000000' }, 
       text: { text: 'START', fill: '#ffffff', 'font-size': 10, stroke: '#000000', 'stroke-width': 0 } 
      } 
     }) 

謝謝

回答

3

您可以設置文本屬性與cell.attr('text/text', inboxName)basic.Circle元素。 attr()方法將路徑作爲第一個參數,它是您的attrs對象中屬性的路徑。請注意,cell.attr('text/text', 'MY VALUE')相當於cell.prop('attrs/text/text', 'MY VALUE')

cell.set()只能用於設置頂級屬性,所以你必須做cell.set('attrs', { text: { text: 'MY VALUE' } }),但是它會覆蓋其他屬性(如circle在你的情況下)。

+0

當然,它再一次工作@dave。非常感謝! –

相關問題