Hier ist ein Beispiel für einen Validator, den ich für einen ähnlichen Fall für eine Eigenschaft geschrieben habe, um eine Anzeigeverzögerung für ein Objekt zu übermitteln, das auf dem Bildschirm in Millisekunden angezeigt wird. In diesem Fall kann die Eigenschaft entweder eine Zahl sowohl für "Zeigen" als auch für "Verbergen" sein, oder sie kann ein Objekt sein, das für jeden Fall unterschiedliche Verzögerungen definiert.
Ich überprüfe den Typ jeden Schlüssel, den ich erwarte, um sicherzustellen, dass es übereinstimmt, in meinem Fall "Nummer". Wenn ein Schlüssel fehlt, ist der Typ "undefiniert". In meinem Fall sind negative Werte nicht erlaubt. vielleicht
props: {
delay: {
type: [Number, Object],
default: 0,
validator(value) {
if (typeof value === 'number') {
return value >= 0;
} else if (value !== null && typeof value === 'object') {
return typeof value.show === 'number' &&
typeof value.hide === 'number' &&
value.show >= 0 &&
value.hide >= 0;
}
return false;
}
},
}
so etwas wie diese http://jsbin.com/pakowexipa/edit?html,js,output - natürlich können Sie elegantere Art und Weise verwenden, für die Prüfung der Eigenschaften –
Ich habe ein Beispiel zu meiner Antwort hinzugefügt . – wostex