TS2740:(TS) 类型“VNode”缺少类型“HTMLElement”中的以下属性:accessKey、accessKeyLabel、autocapitalize、dir 以及其他 283 个属性

问题描述 投票:0回答:1

`类型“VNode”缺少类型“HTMLElement”中的以下属性:accessKey、accessKeyLabel、autocapitalize、dir 以及其他 283 个属性。

> import { init, classModule, propsModule, styleModule, eventListenersModule, h} from 'snabbdom';
> const patch = init([classModule, propsModule, styleModule, eventListenersModule]);
> let tasks: string[] = [];
> function view() {
> return h('div#app', [
> h('input#new-task', {
> props: { type: 'text', placeholder: 'Add a new task' },
>         }),
> h('button', { on: { click: addTask } }, 'Add Task'),
> h('ul#task-list', tasks.map((task, index) =>
> h('li', { key: index }, task)
>         )),
>     ]);
> }
> function addTask() {
> const newTask = (document.getElementById('new-task') as HTMLInputElement).value;
> if (newTask.trim() !== '') {
> tasks.push(newTask);
> updateView();
>         (document.getElementById('new-task') as HTMLInputElement).value = '';
>     }
> }
> function updateView() {
> const newVNode = view();
> patch(oldVNode, newVNode);
> oldVNode = newVNode;
> }
> let oldVNode = document.getElementById('app') || document.body;
> updateView();
> 
typescript
1个回答
0
投票

需要在 updateview() 函数中添加 void 即可工作。

© www.soinside.com 2019 - 2024. All rights reserved.