إذا مسحنا قيمة إدخال الرقم (اجعلها فارغة) ، فمن الأفضل عدم تطبيق عامل التصفية ويجب إدراج جميع القيم. في الوقت الحالي ، إذا طبقنا بعض المرشحات عن طريق وضع رقم ، فلنقل 5 في مربع الإدخال ، فإنه يعمل بشكل جيد ويتم سرد جميع البيانات المطابقة 5 أسفل. الآن إذا قمنا بمسح القيمة في مربع الإدخال ، فمن الأفضل أن يتم سرد جميع القيم (بدون مرشح) ولكن يطبق الزاوي مرشحًا فارغًا للأرقام ويتم تصفية كل شيء (لا يسرد ng-تكرار أي شيء).
نوع الإدخال = "رقم" ng-model = "العمر"
ملاحظة: لا توجد مشكلة في النوع = إدخال النص
(كما ذكرت) يحدث هذا لأن input[number]
يعين null
للنموذج عندما يكون الحقل فارغًا.
توقع أن يعمل هذا بالطريقة التي تتوقعها هو أمر منطقي (imo) ، لكنني لست متأكدًا من كيفية معالجة هذا الأمر.
إصلاحه من جانب عامل التصفية غير مرغوب فيه ، لأن null
يمكن أن يكون قيمة صالحة للبحث عنها (ولا يمكننا التعامل معها على أنها غير محددة). قد لا يكون إصلاحه على NgModelController
حلاً قابلاً للتطبيق أيضًا.
@ الأخرين : خواطر؟
في غضون ذلك ، يمكنك استخدام هذا الحل البديل (ليس جميلًا جدًا):
<input type="number" ng-model="search.posts" />
...
<div ng-repeat="user in users | filter:((search.posts===null)?undefined:search)">...</div
نرجع null
لأن إرجاع undefined
من المحلل اللغوي يعيّن خطأ تحليل. سبب آخر يجعل هذا ليس أفضل تصميم.
Narretz كنت على وشك أن أسأل لماذا لا نعيد undefined
:-)
أعلم أن هذا المنشور قديم نوعًا ما ، لكنني واجهت وقتًا سيئًا حقًا في معرفة كيفية حل هذه المشكلة ، لذلك أريد مشاركة الحل الخاص بي. أضف حدث oninput إلى حقل الإدخال الخاص بك وفي وظيفة javascript تحقق مما إذا كانت قيمة هذا الحقل عبارة عن سلسلة فارغة ، إذا كان الأمر كذلك ، فاحذف قيمة حقل الإدخال باستخدام:
احذف document.getElementById ("أيا كان"). value ؛
لا أعتقد أنه من المفترض أن تكون سمات HTMLInputElement قابلة للتكوين
التعليق الأكثر فائدة
(كما ذكرت) يحدث هذا لأن
input[number]
يعينnull
للنموذج عندما يكون الحقل فارغًا.توقع أن يعمل هذا بالطريقة التي تتوقعها هو أمر منطقي (imo) ، لكنني لست متأكدًا من كيفية معالجة هذا الأمر.
إصلاحه من جانب عامل التصفية غير مرغوب فيه ، لأن
null
يمكن أن يكون قيمة صالحة للبحث عنها (ولا يمكننا التعامل معها على أنها غير محددة). قد لا يكون إصلاحه علىNgModelController
حلاً قابلاً للتطبيق أيضًا.@ الأخرين : خواطر؟
في غضون ذلك ، يمكنك استخدام هذا الحل البديل (ليس جميلًا جدًا):
كمان تجريبي