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 下拉元素,因为我没有数据集来填充下拉列表,因为我通常动态填充它。

http://jsfiddle.net/02Lv1s9d

显然有一个 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('');
                }
            });
}