Ich habe einen benutzerdefinierten Datentyp in Umbraco 7.4.3, die einen einfachen Eingang des Typs Nummer hat. Das ist an das Modell gebunden, das das ng-bind Attribut verwendet, aber das Textfeld gibt den Wert nicht wieder.Umbraco Custom DataType mit Zahleneingabe zeigt keinen Wert
NumberTestInput.Editor.html
<div ng-controller="NumberTestInput.NumberTestInputController">
<!--Changing the type to 'text' causes the value to render correctly-->
<!--Otherwise, it renders with an empty value-->
<input type="number" ng-model="model.value" />
</div>
NumberTestInput.Controller.js
angular.module("umbraco").controller("NumberTestInput.NumberTestInputController", function ($scope) {
//Causes value to load on page load, but textbox is blanked out again after publishing
//$scope.model.value = parseInt($scope.model.value);
});
package.manifest
{
"propertyEditors": [
{
"name": "Number Test Input",
"alias": "numberTestInput",
"editor": {
"hideLabel": false,
"isReadOnly": false,
"valueType": "INT",
"view": "~/App_Plugins/NumberTestInput/NumberTestInput.Editor.html"
}
}
],
"javascript": [
"~/App_Plugins/NumberTestInput/NumberTestInput.Controller.js"
]
}
Es scheint ein Problem zu sein, bei dem der Model-Value-Typ auf String anstatt auf eine Zahl gesetzt wird, obwohl ich dieses Setup im Manifest als INT habe und die Werte bei der Eingabe korrekt gespeichert werden. Es ist nur so, dass sie in der Benutzeroberfläche nicht korrekt dargestellt werden. Gibt es etwas, was ich anders machen muss, damit das funktioniert?
Was ist eigentlich der Wert von 'model.value'? – developer033
@ developer033 Es ist ein numerischer Wert. Der Wert selbst wird korrekt gespeichert, wie der Textboxtyp von "Nummer" in "Text" ändert. – Mun