以下 Mithril 代码旨在在从中提取值时清除文本框。它不会清除文本框(或根本不执行任何操作)。我怎样才能让它发挥作用?
请注意,如果我更改此行:
this.newItemName("");
至:
this.newItemName("abc");
然后文本框将更新为新值。但我想清除它。
var app = {
controller: function() {
this.newItemName = m.prop("");
this.makeNewItem = function(name) {
if (name) {
this.newItemName("");
}
}
},
view: function(ctrl) {
return m("div", [ m("span", "new item"),
m("input",
{ type: "text",
onchange: m.withAttr("value", ctrl.makeNewItem.bind(ctrl)),
value: ctrl.newItemName() })]);
}
};
m.module(document.body, app);
最佳答案
您的代码似乎有效:http://jsfiddle.net/h89k7/1
您可能使用的是旧版本的 Mithril。
下面引用的代码以满足 SO 验证:
var app = {
controller: function () {
this.newItemName = m.prop("");
this.makeNewItem = function (name) {
if (name) {
this.newItemName("");
}
};
},
view: function (ctrl) {
return m("div", [m("span", "new item"),
m("input", {
type: "text",
onchange: m.withAttr("value", ctrl.makeNewItem.bind(ctrl)),
value: ctrl.newItemName()
})]);
}
};
m.module(document.body, app);
关于javascript - 如何清除该文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977052/