J'utilise sous le champ dans SimpleSchema,Autovalue dans SimpleSchema pour la mise à jour ne précise pas la valeur donnée
"fileNo": {
type: String,
label: "File No.",
autoValue: function() {
console.log('this', this);
console.log('typeof this.value.length ', typeof this.value.length);
console.log('this.value.length ', this.value.length, this.value.length === 0, this.value.length == 0);
console.log('this.value ', this.value, typeof this.value);
console.log('this.operator ', this.operator);
console.log('this.isSet ', this.isSet);
if (this.isSet && 0 === this.value.length) {
console.log('if part ran.');
return "-";
} else {
console.log('else part ran.');
}
},
optional:true
},
J'utilise autoform
-update
un champ. Le problème est lorsque je mets à jour le champ avec la chaîne vide (c'est-à-dire en gardant la zone de texte vide), la valeur -
n'est pas définie selon la définition du champ dans le code SimpleSchema ci-dessus.
-je obtenir les journaux comme ci-dessous,
clients.js:79 this {isSet: true, value: "", operator: "$unset", unset: ƒ, field: ƒ, …}
clients.js:80 typeof this.value.length number
clients.js:81 this.value.length 0 true true
clients.js:82 this.value string
clients.js:83 this.operator $unset
clients.js:84 this.isSet true
clients.js:86 if part ran.
clients.js:79 this {isSet: true, value: "-", operator: "$unset", unset: ƒ, field: ƒ, …}
clients.js:80 typeof this.value.length number
clients.js:81 this.value.length 1 false false
clients.js:82 this.value - string
clients.js:83 this.operator $unset
clients.js:84 this.isSet true
clients.js:89 else part ran.
et mon document de collection n'a pas de champ fileNo
.
Qu'est-ce qui me manque? tout ce que je veux, c'est quand la valeur fileNo
est empty/undefined
la valeur doit être définie sur -
(trait d'union). Dans le document, il doit ressembler à fileNo : "-"
Quels sont exactement vous essayez d'atteindre? – Styx
@Styx: dernière ligne modifiée en gras. Merci d'avance. –
Peut-être, le 'defaultValue' est ce que vous avez besoin? – Styx