Webix UI - 如何将 clear/reset/unset ui 小部件(输入,select,日期选择器)值清空?
Webix UI - How to clear/reset/unset ui widget (input, select, date picker) value to empty?
在 Webix UI 中,我找到了一种基于表单 ID 统一清除小部件值的方法,我如何使用某种混入(如 $$(<form-id>).clear();
)单独清除小部件值。
是否有适当的方法将值单独而不是集体重置为默认值,因为我需要控制单个元素?
请参阅现有的 fiddle 以获取示例元素集。有一个省略的 select 下拉元素,因为我没有数据集来填充下拉列表,因为我通常动态填充它。
显然有一个 mixin 方法 setValue("")
可以解决这个问题。
进一步的研究发现了一种使用混合选择器 $$(<form-id>)
的 setValue
方法。该语句解析为 $$(<form-id>).setValue("");
https://snippet.webix.com/a0e579c0
控制器清除方法 - 注意 Datepicker clear 出于某种原因依赖于不同的逻辑来清除而不是 setValue("") 方法调用。
ctrl.clear = function(evt){
ids = document.querySelectorAll("div.evt"+evt);
angular.forEach(ids, function(elem, key){
id = elem.getAttribute("id");
view_id = document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view").getAttribute("view_id");
viewid = view_id.replace('$', '');
var el = document.querySelector("#" + id.replace("{{event}}", id));
if (el && el.getAttribute('type') == 'datepicker')
{
elem = document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view > div.webix_el_box > div.webix_inp_static");
elem.setAttribute("id", viewid);
elem.innerHTML = '';
elem.innerText = '';
elem.textContent = '';
}
else
{
document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view > *").setAttribute("id", viewid);
$$(viewid).setValue('');
}
});
}
在 Webix UI 中,我找到了一种基于表单 ID 统一清除小部件值的方法,我如何使用某种混入(如 $$(<form-id>).clear();
)单独清除小部件值。
是否有适当的方法将值单独而不是集体重置为默认值,因为我需要控制单个元素?
请参阅现有的 fiddle 以获取示例元素集。有一个省略的 select 下拉元素,因为我没有数据集来填充下拉列表,因为我通常动态填充它。
显然有一个 mixin 方法 setValue("")
可以解决这个问题。
进一步的研究发现了一种使用混合选择器 $$(<form-id>)
的 setValue
方法。该语句解析为 $$(<form-id>).setValue("");
https://snippet.webix.com/a0e579c0
控制器清除方法 - 注意 Datepicker clear 出于某种原因依赖于不同的逻辑来清除而不是 setValue("") 方法调用。
ctrl.clear = function(evt){
ids = document.querySelectorAll("div.evt"+evt);
angular.forEach(ids, function(elem, key){
id = elem.getAttribute("id");
view_id = document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view").getAttribute("view_id");
viewid = view_id.replace('$', '');
var el = document.querySelector("#" + id.replace("{{event}}", id));
if (el && el.getAttribute('type') == 'datepicker')
{
elem = document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view > div.webix_el_box > div.webix_inp_static");
elem.setAttribute("id", viewid);
elem.innerHTML = '';
elem.innerText = '';
elem.textContent = '';
}
else
{
document.querySelector("#" + id.replace("{{event}}", id) + " > div.webix_view > *").setAttribute("id", viewid);
$$(viewid).setValue('');
}
});
}