मेरी प्रतिक्रिया घटक में मेरे पास है:

 state = {
        title: '',
        content: '',
        file: ''
    }
    handleChange = (e) => {
        this.setState({
            [e.target.id] : e.target.value
        })
    }
    handleSubmit = (e) => {
       e.preventDefault();
       console.log(this.state)
    }



 <form onSubmit={this.handleSubmit}>

 <input type="text" id="title" onChange={this.handleChange}/>

 <textarea id="content" onChange={this.handleChange}></textarea>

 <input type="file" id="file" onChange={this.handleChange}/>

</form>

और मैं console.log(this.state) में केवल file के पथ पर जा रहा हूं, जैसे: "C:\fakepath\title.jpg"। वास्तविक फ़ाइल को राज्य में कैसे सेट करें? मदद के लिए अग्रिम में धन्यवाद!

0
bafix2203 26 नवम्बर 2018, 19:46

1 उत्तर

सबसे बढ़िया उत्तर

घटना से फ़ाइल पढ़ने के लिए आपको e.target.files[0] का उपयोग करना चाहिए बोले कोड आपके लिए ठीक काम करता है

state = {
      title: '',
      content: '',
      file: ''
    }
    handleChange = (e) => {
        this.setState({
            [e.target.id] : e.target.value
        })
    }
    handleOnFileChange = (e) => {
        let file = e.target.files[0];
        this.setState({
            [e.target.id] : file
        })
    }
    handleSubmit = (e) => {
       e.preventDefault();
       console.log(this.state)
    }



    <form onSubmit={this.handleSubmit}>

       <input type="text" id="title" onChange={this.handleOnFileChange}/>

       <textarea id="content" onChange={this.handleChange}></textarea>

       <input type="file" id="file" onChange={this.handleChange}/>

    </form>
1
Sunil Kumar 26 नवम्बर 2018, 17:32