मेरे पास एक एनम प्रकार है, उदाहरण के लिए Currency। मैं इसे बदल नहीं सकता क्योंकि यह स्वचालित रूप से एक ग्राफ़िकल स्कीमा पर बनाता है। मैं इसे अपने डेटा के लिए उपयोग करना चाहता हूं, लेकिन मुझे नहीं पता कि कैसे करना है।

enum Currency {
  rub = 'RUB',
  usd = 'USD',
  eur = 'EUR',
}

const data: { currency: Currency[keyof typeof Currency] } = {
  currency: 'RUB',
};

त्रुटियां

TS2339: Property 'eur' does not exist on type 'Currency'.
TS2339: Property 'rub' does not exist on type 'Currency'.
TS2339: Property 'usd' does not exist on type 'Currency'.
0
Igor Zvyagin 21 सितंबर 2020, 15:58

1 उत्तर

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

मुझे यकीन नहीं है कि आप जो करने की कोशिश कर रहे हैं वह करना संभव है लेकिन सबसे अधिक संभावना है कि आप ऐसा कुछ करना चाहेंगे:

const data: { currency: Currency } = {
  currency: Currency.rub,
};

इस प्रकार आम तौर पर एनम का उपयोग किया जाता है (हमेशा इसके मूल्यों में से एक प्राप्त करते समय एनम को स्पष्ट रूप से संदर्भित करके)।

1
David Gomes 21 सितंबर 2020, 16:03