昨天有群友问,动态把表单的checkbox删除之后 ,再用form.render() 重新渲染,结果 表单中本来被删除的checkbox还在。群友在浏览器开发者工具中查看也知道input checkbox元素删除了,但是layui生成的代替显示元素还在,觉得不应该使用原始的操作手动把显示元素也删除。
对于目前2.5.6版本的layui,表单渲染只是以表单当前存在的表单元素为基础来生成或更新相应显示元素,没有记录前一次渲染表单时的表单元素,从而无法比对是否有表单元素移除了,也没有相应的方法来移除表单元素。我回答也只能是使用最笨的办法把checkbox的下一个元素也就是代替显示的元素先删除了,再删除checkbox。
这里对比vue来说就给人古老的操作感觉,如果是vue,移除了相应的表单项生成数据,页面的表单项就自动移除了。