2015-10-14 22 views
5

Girdi ile güncellemek istediğim metnin yanında dinamik olarak birden çok metin girişi (dinamik olarak oluşturulmuş refs ile) oluşturuyorum.React, değişkene ayarlanarak DOM düğümünü bulabilir mi?

Bir değişkene ref ayarlama ve ben alıyorum

.value React.findDOMNode (this.refs.Variable) DOM düğümünü bularak girişin değerini almak çalışıyorum bir "okunamıyor "boş değer" değeri.

Bunu nasıl başarabilirim? Ben bir "boş malı 'değerini' okunamıyor" hatası alıyorum

resetUnit: function(e){ 
    var refID = e.target.id; 
    var ID = refID.split("-")[0]; 
    var Value = React.findDOMNode(this.refs.refID).value; 
    NodesCollection.update({_id: ID},{$set: { materialUnit : Value}}); 
    this.setState({ 
    edit: '' 
    }); 
}, 

cevap

9
var Value = React.findDOMNode(this.refs.refID).value; 

ref "refID" ile bileşen için DOM düğümü bulur. Eğer Ref refID (değişken) ile bileşen için DOM düğümü bulmak istiyorsanız, ben de

import ReactDOM from 'react-dom'; 
ReactDOM.findDOMNode(this.refs.hi); 

yapmak zorunda

var Value = ReactDOM.findDOMNode(this.refs[refID]).value; 
+1

Teşekkürler, işe yaradı! –

+4

Sanırım "ReactDOM.findDOMNode", "React.findDOMNode" değil. –

0

:

Bu gibi işlev görüntüsü.

iki olası durumlar:

  • id yanlıştır. Daha fazla kod veya log kodunu tekrar kontrol etmek için ID'yi kontrol edin
  • Erken çağrıldı: componentDidMount'un çağrıldığından emin misiniz?
+0

Kimlik doğru ve meteor (Bence) componentDidMount'u işliyor. Sorun, "this.refs" değişkenini bir değişkenle bulmaya çalışmaktır. –

+0

Örneğin: var A = foo; React.findDOMNode (this.refs.A) .value; –

İlgili konular