我有一个CurrencyTextBox,我将货币设置为默认货币。用户可以通过在同一表单上选择货币下拉菜单来更改它。我以为我可以动态更改文本框上的货币属性,但没有任何反应。符号不会改变。是否有一些技巧可以使这项工作?我已经看到了必须销毁和重新创建小部件的相关帖子。好像有可能有更好的方法吗?
我想将unitCostId小部件的货币设置为用户选择的货币。结果是货币符号将改变以匹配新选择的货币。
new CurrencyTextBox ({
id: "unitCostId",
name: "price",
currency: "USD",
required: true,
value: "",
placeHolder: "Enter Price"
}, "unitCostNode");
----------------------------------------------------
new Select({
id: "currencyOptionsId",
name: "currency_code",
value: "USD",
options: currencyOptions,
required: true,
onChange: function(val) {
var currency_id = this.get("value");
registry.byId("unitCostId").set("currency",this.get("value");
// registry.byId("unitCostId").reset();
}
}, "currencyNode");
任何帮助将不胜感激!
答案 0 :(得分:1)
不幸的是,currency
属性没有setter逻辑,并且记录为常量。但是,由于底层代码的工作原理,您仍然可以通过constraints
设置来更改它:
registry.byId("unitCostId").set("constraints", { currency: this.get("value") });