يحل مشكلة نمط التصميم ، وهذا متوقع بالطبع من تدفق MVM بما في ذلك v-model.number ينتج سلسلة عندما تكون فارغة.
عندما أقوم بإدخال رقم ثم حذف النص من الإدخال ، فإنه يتحول إلى سلسلة في كائن البيانات التفاعلية.
هذه بالتأكيد مشكلة رئيسية تتعلق بقابلية الاستخدام والإرسال ، ولا أرى الغرض من الاحتفاظ بسمة سلسلة فارغة في النموذج. يجب أن يتم فصله عن النموذج عندما يكون فارغًا - تمامًا كما تقوم بإنشاء سمات جديدة على إدخال النص ، يجب أن يكون العكس.
هذه بالتأكيد مشكلة في نمط التصميم يجب حلها ، ولا تحتاج إلى تنفيذها على مستوى التطبيق في كل مرة ، إنها إصلاح صغير سيضيف الكثير إلى VueJS2 ، وأنا متأكد من أن العديد من الآخرين سيتفقون معي في هذا الأمر!
حاليا عندما يكون الإدخال فارغًا
v-model.number = "model.number"
النموذج = {
عدد: ""
}
ماذا يجب أن تفعل عندما يكون الإدخال فارغًا
v-model.number = "model.number"
النموذج = {
}
أعتقد أن السلوك الحالي هو السلوك المتوقع.
Beause v-model
هو مجرد بناء جملة لـ v-bind:value
و v-on:input
، لا يبدو أنه يجعل من المشهد أن معالج الحدث input
يحذف خاصية كائن ( وربما يكسر تفاعل تلك الخاصية).
سأجد عمل حولها ، شكرًا لك :) 👍
كما رأيت في # 4742 ، إنه سلوك متوقع. والسبب هو السماح للمستخدم بمعرفة عدم وجود قيمة في الإدخال . خلاف ذلك ، يمكن إدخال 0 بواسطة المستخدم وأيضًا إدخال فارغ
posva بعد فهم تفاعل Vue بشكل أكبر ، سيكون إرجاع القيمة null بالتأكيد الخيار الأفضل بدلاً من إرجاع سلسلة
التعليق الأكثر فائدة
posva بعد فهم تفاعل Vue بشكل أكبر ، سيكون إرجاع القيمة null بالتأكيد الخيار الأفضل بدلاً من إرجاع سلسلة