【问题标题】:.tsx component Button onclick event shows undefined.tsx 组件按钮 onclick 事件显示未定义
【发布时间】:2020-08-21 07:03:42
【问题描述】:

我创建了一个 .tsx 组件和一个返回动态 HTML 的函数。

   getCellValues(_data) {
    var ret=`<div onClick="`+this.selectDate("1")+`">1</div>`;
     console.log(ret)
     return ret; }

这个选择数据函数看起来像

 selectDate(_data: string) {
     console.log("*****selectDate**************************");
     console.log(_data); }

并在组件构造函数中添加了这行代码。

this.selectDate = this.selectDate.bind(this);

但在加载组件后,这个 div onclick 事件显示未定义......并且呈现的 html 看起来像......

<div onclick="undefined">1</div>

有什么想法吗?

【问题讨论】:

    标签: reactjs typescript tsx react-tsx


    【解决方案1】:

    您可以简单地返回 JSX:

    getCellValues(_data) {
      return <div onClick={() => this.selectDate(1)}>1</div>
    };
    

    【讨论】:

    • 我不能这样返回,因为我有一个完整的动态 html 块,而这个 div 是那个 html 块的一部分
    • 我明白了。我不知道如何解决这个问题,但理想情况下,你会重构代码,这样它就不会以这种方式使用动态 HTML。使用 React 的意义就消失了。
    • 实际上我正在创建一个动态日历,所以我必须使用动态 html
    • 怎么样?我很乐意研究 sn-p,但我怀疑它不能重构为通用 JSX 组件。
    • 我无法在这里上传完整的 sn-p...我有一个日历,所有日期都应该是可点击事件..为此我想要这个当前未定义的按钮点击事件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多