我想构建一个WebComponent,为给定对象的JSON模式的对象数组生成CRUD UI。想到具有单个可重用的自定义<crud-ui>
元素的ToDoMVC应用。
这是可行的。 Vaadin库(专有,收费的并取决于其GridTable和其他组件)提供了类似的自定义元素:https://github.com/vaadin/vaadin-crud
MDN有一个名为editable-list
的示例,但是它太简单了,它假定项目是字符串,而不是对象:https://github.com/mdn/web-components-examples/tree/master/editable-list
我想要的是:
<crud-ui
items='[{"task": "read a book", "status": false}]'
schema='{"properties": {"task": {"type": "string"}, "status": {"type": "boolean"}}, "required": ["task"]}'>
</crud-ui>
schema
属性将符合json-schema.org标准。
(可选)我们可能希望覆盖使用哪个listview,listitemview和edititem。
这应该产生带有添加/编辑/删除功能的列表视图(例如,请参见http://todomvc.com/examples/polymer/index.html或https://raw.githubusercontent.com/vaadin/vaadin-crud/master/screenshot.gif)