Vue: قم بإزالة السمة عندما يكون v-model.number فارغًا

تم إنشاؤها على ٢٢ مايو ٢٠١٧  ·  4تعليقات  ·  مصدر: vuejs/vue

ما المشكلة التي تحلها هذه الميزة؟

يحل مشكلة نمط التصميم ، وهذا متوقع بالطبع من تدفق MVM بما في ذلك v-model.number ينتج سلسلة عندما تكون فارغة.

عندما أقوم بإدخال رقم ثم حذف النص من الإدخال ، فإنه يتحول إلى سلسلة في كائن البيانات التفاعلية.

هذه بالتأكيد مشكلة رئيسية تتعلق بقابلية الاستخدام والإرسال ، ولا أرى الغرض من الاحتفاظ بسمة سلسلة فارغة في النموذج. يجب أن يتم فصله عن النموذج عندما يكون فارغًا - تمامًا كما تقوم بإنشاء سمات جديدة على إدخال النص ، يجب أن يكون العكس.

هذه بالتأكيد مشكلة في نمط التصميم يجب حلها ، ولا تحتاج إلى تنفيذها على مستوى التطبيق في كل مرة ، إنها إصلاح صغير سيضيف الكثير إلى VueJS2 ، وأنا متأكد من أن العديد من الآخرين سيتفقون معي في هذا الأمر!

كيف تبدو واجهة برمجة التطبيقات المقترحة؟

حاليا عندما يكون الإدخال فارغًا

v-model.number = "model.number"
النموذج = {
عدد: ""
}

ماذا يجب أن تفعل عندما يكون الإدخال فارغًا

v-model.number = "model.number"
النموذج = {
}

التعليق الأكثر فائدة

posva بعد فهم تفاعل Vue بشكل أكبر ، سيكون إرجاع القيمة null بالتأكيد الخيار الأفضل بدلاً من إرجاع سلسلة

ال 4 كومينتر

أعتقد أن السلوك الحالي هو السلوك المتوقع.
Beause v-model هو مجرد بناء جملة لـ v-bind:value و v-on:input ، لا يبدو أنه يجعل من المشهد أن معالج الحدث input يحذف خاصية كائن ( وربما يكسر تفاعل تلك الخاصية).

سأجد عمل حولها ، شكرًا لك :) 👍

كما رأيت في # 4742 ، إنه سلوك متوقع. والسبب هو السماح للمستخدم بمعرفة عدم وجود قيمة في الإدخال . خلاف ذلك ، يمكن إدخال 0 بواسطة المستخدم وأيضًا إدخال فارغ

posva بعد فهم تفاعل Vue بشكل أكبر ، سيكون إرجاع القيمة null بالتأكيد الخيار الأفضل بدلاً من إرجاع سلسلة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات