【问题标题】:Typescript type of MaterialTextfieldMaterialTextfield 的打字稿类型
【发布时间】:2020-10-12 20:03:49
【问题描述】:

我正在创建我的第一个 react typescript 应用程序。 我在纯 javascript 中找到了一些示例,不想在 typescript 中写类似的东西。

firebase javascript sample我们可以看到

addCommentForm.onsubmit = function(e) {
  e.preventDefault();
  createNewComment(postId, firebase.auth().currentUser.displayName, uid, commentInput.value);
  commentInput.value = '';
  commentInput.parentElement.MaterialTextfield.boundUpdateClassesHandler();
};

我想在 typescript 中做类似的事情,我想创建一个如下所示的函数

function resetMaterialTextfield(element: HTMLInputElement) {
  element.value = '';
  element.parentNode.MaterialTextfield.boundUpdateClassesHandler();
}

我的问题是:

  • 我应该如何声明元素,使用什么类型,以便它具有 parentNode、parentElement 属性,并且该父级具有 MaterialTextfield,我可以在其上调用 boundUpdateClassesHandler()?

  • MaterialTextfield 来自哪个库/框架?它是什么类型的?在哪里可以找到此类和库的文档或教程?

【问题讨论】:

    标签: javascript typescript material-design typescript-typings


    【解决方案1】:

    使用类型断言。 (element.parentNode as TypeYouWant).MaterialTextfield.boundUpdateClassesHandler();

    【讨论】:

    • 我不知道 TypeYouWant。可能是什么类型的? MaterialTextfield 是在哪个库或框架中定义的?
    • 那么就用any
    • 我是 typescript/js、react 和前端开发的新手,但我发现使用 any 作为最后的手段,这是一个令人讨厌的解决方法,但不是解决方案。如果我这样做,那么使用 typescript 而不是 javascript 有什么好处?如果您发现它是一个有效的解决方案,您能否提供一些支持这种态度的文档或文章的链接?
    猜你喜欢
    • 2021-11-26
    • 2021-06-03
    • 2021-05-08
    • 1970-01-01
    • 2019-04-11
    • 2021-08-01
    • 1970-01-01
    • 2020-05-09
    • 2019-05-03
    相关资源
    最近更新 更多