কৌণিক 2 অক্ষম নিয়ন্ত্রণগুলি ফর্ম.ভ্যালুতে অন্তর্ভুক্ত হয় না


113

আমি লক্ষ্য করেছি যে আমি যদি কৌণিক 2 প্রতিক্রিয়াশীল ফর্মের উপর নিয়ন্ত্রণটি অক্ষম করে রাখি তবে নিয়ন্ত্রণটি ফর্ম.ভ্যালুতে অন্তর্ভুক্ত হয় না। উদাহরণস্বরূপ, যদি আমি নীচের মতো আমার ফর্মটি সংজ্ঞায়িত করি:

this.notelinkingForm = new FormGroup({
    Enabled: new FormControl(settings.Enabled, Validators.required),
    LinkToPreceeding: new FormControl({value: settings.LinkToPreceeding, disabled: !settings.Enabled}, Validators.required),
    LinkingTolerance: new FormControl({value: settings.LinkingTolerance, disabled: !settings.Enabled}, Validators.required)
});

এবং এই.নোটলিংকিংফর্ম.ভ্যালুটি পরীক্ষা করুন, যদি সমস্ত নিয়ন্ত্রণ সক্ষম হয় তবে আউটপুটটি হবে:

{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"} 

যাইহোক, যখন কয়েকটি নিয়ন্ত্রণ অক্ষম করা হয় তখন তা হ'ল:

{"Enabled":true} 

অক্ষম নিয়ন্ত্রণগুলি কীভাবে বাদ দেওয়া হয়েছে তা লক্ষ্য করুন।

আমার অভিপ্রায়টি হ'ল ফর্মটি পরিবর্তিত হলে আমি ফর্মটি পাস করতে সক্ষম হতে চাই val এতে থাকা সমস্ত বৈশিষ্ট্য আমার বিশদ এপিআইতে বন্ধ করে দেয় val এতে অক্ষম আইটেম না থাকলে স্পষ্টতই এটি সম্ভব হবে না।

আমি কি এখানে কিছু অনুপস্থিত বা এটি প্রত্যাশিত আচরণ? ফর্ম.ভ্যালুতে অক্ষম আইটেমগুলি অন্তর্ভুক্ত করার জন্য কৌনিকটিকে বলার কোনও উপায় আছে কি?

আপনার চিন্তা স্বাগত জানাই।

উত্তর:


246

তুমি ব্যবহার করতে পার:

this.notelinkingForm.getRawValue()

ডক্স থেকে :

আপনি যদি অক্ষম স্থিতি নির্বিশেষে সমস্ত মান অন্তর্ভুক্ত করতে চান তবে এই পদ্ধতিটি ব্যবহার করুন। অন্যথায়, valueসম্পত্তিটি গ্রুপের মান পাওয়ার সর্বোত্তম উপায়।


41
আশ্চর্য হোন কেন পৃথিবীতে কৌণিক দল এটি করেছে
অজৈবিক

@inorganik তারা এটি করেছে কারণ এটি একটি অক্ষম নিয়ন্ত্রণ সক্ষম করা এবং এর মান সম্পাদনা করা সম্ভব। এই ক্ষেত্রে getRawValue () টেম্পার্ড মান সহ কোনও বস্তু ফিরিয়ে দেবে।
ড্যানিশ

1
এটি আসলে একটি ভাল জিনিস। উদাহরণস্বরূপ, আমি জানি যে আমার অক্ষম নিয়ন্ত্রণগুলির মানগুলি পরিবর্তিত হচ্ছে না তাই আমি সেগুলি এপিআইতে অন্তর্ভুক্ত করতে চাই না কারণ আমি এই নিয়ন্ত্রণগুলি প্রথম স্থানে ডাটাবেস থেকে একটি মান নির্ধারিত করেছি। তবে কিছু ক্ষেত্রে, আমি আসলে সেই নিয়ন্ত্রণগুলিকে অন্তর্ভুক্ত করতে চাই যাগুলির সামনের প্রান্ত থেকে নির্ধারিত মান রয়েছে এবং তারা ডিবিতে সঞ্চিত নয় এবং এই ফাংশনটি এটি coversেকে রাখে। উভয় বিকল্প থাকা সর্বদা ভাল।
চিরাগ এমএমস

সত্য @ চিরাগএমএস। আমি যতদিন যে দৃষ্টিভঙ্গি আমি মধ্যে একটা চয়েস আছে readonlyএবং disabled। তবে এটি উদাহরণস্বরূপ চেকবক্স এবং রেডিও বোতামগুলির ক্ষেত্রে নয় যেমন আমি নীচের উত্তরে বর্ণনা করেছি। এই ক্ষেত্রে আমি এটি পছন্দ করি নি যে আমাকে আলাদাভাবে ডেটা পেতে হবে এবং সেই ক্ষেত্রে বিশেষভাবে কিছু কোড করতে হবে।
স্যান্ড্রো


7

আমার যা দরকার তা আমাকে 80% পাওয়ার জন্য @ সাসেক্সা আপনাকে ধন্যবাদ ।

আপনারা যারা একই সমস্যাটির সমাধানের সন্ধান করছেন তবে নেস্টেড ফর্মগুলির জন্য আমি আমার স্বাভাবিক পরিবর্তন করে সমাধান করতে সক্ষম হয়েছি

this.notelinkingForm.get('nestedForm').value

প্রতি

this.notelinkingForm.getRawValue().nestedForm

0

আপনি যদি এর readonlyপরিবর্তে disabledএটি ব্যবহার করেন তবে ডেটা ফর্মটিতে অন্তর্ভুক্ত করা হবে তখনও এটি সম্পাদনাযোগ্য নয়। তবে এটি সব ক্ষেত্রেই সম্ভব নয়। যেমন এটি রেডিও বোতাম এবং চেকবক্সগুলির জন্য উপলভ্য নয়। দেখুন MDN ওয়েব ডক্স । এই ক্ষেত্রে আপনাকে এখানে সরবরাহিত অন্যান্য সমাধানের জন্য আবেদন করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.