मैं एक मूल्य का चयन करने के बाद चुनिंदा तत्व से मूल्य मूल्य प्राप्त करने का प्रयास कर रहा हूं। जैसे स्टॉक-विवरण: "नंबर इनवो क्यूटी", बिक्री-मूल्य: "100"। लेकिन मैंने नीचे कोड लिखा है और जब मैं इसे चलाता हूं तो मुझे यह त्रुटि मिलती है बिक्री-मूल्य रिटर्न "अपरिभाषित"।

तो मैं वास्तव में इसकी सराहना करता हूं कि आप मेरी मदद कर सकते हैं क्योंकि मैंने पूरे दिन इंटरनेट पर मदद की तलाश में खोज की है।

import React, { Component } from 'react';
import _ from 'lodash';

const ITEMS = [
  { name: 'initial', text: 'Select Items', value: '' },
  { name: 'centos', text: 'Invo qt', value: 'Numbers Invo qt', price: "100" },
  { name: 'ubuntu', text: 'Invo xp', value: 'Numbers Invo xp', price: "180" },
  ]
  const SelectComponent = (props) => (
    <select name={props.name}
     onChange={props.handleSelect}
      >
      {_.map(props.items, (item, i) => 
        <Option
            key={i}
        name={item.name}
        value={item.value}
        text={item.text}
        price={item.price}
        handleSelect={props.handleSelect}
      />
)}
</select>
);

const Option = (props) => (
<option 
value={props.value}
>{props.text}</option>
)

export default class CustomerComboBox extends Component {
constructor() {
    super()
    this.state = {
      selected: '',
      selected_Price: ''
    }
    this.handleSelect = this.handleSelect.bind(this);
  }
  handleSelect(e) {
    e.preventDefault();


    //console.log(e.target);

    this.setState({
        selected: e.target.value,
        selected_Price: e.target.price,
    })
    document.getElementById('stock-description').value = e.target.value;
    document.getElementById('stock-price').value = e.target.price;

  }

render() { 
    return ( 
        <div>
            <div>
                <SelectComponent 
                name="testSelect" 
                items={ITEMS}
                price={ITEMS.price}
                handleSelect={this.handleSelect}
                />
            </div>
            <p>Stock Description</p>
            <input id='stock-description' placeholder='Item Description'></input>
            <p>Stock Price</p>
            <input id='stock-price' placeholder='Selling Price'></input>
        </div>
     );
}
}
1
Tony Ngomana 25 नवम्बर 2018, 23:37

1 उत्तर

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

कीमत इस तरह पास नहीं होगी। मेरी सलाह होगी, ऑनचेंज को पूरे ऑब्जेक्ट को पास करना होगा।

onChange={ (e) => props.handleSelect(props.items[e.target.value]) }
0
Adam 25 नवम्बर 2018, 20:43