在 datatables.net 中使用常规 html 按钮打开 SPFx 模态
SPFx Modal open with a regular html button in datatables.net
我正在使用此解决方案在我的 React SPFx web 部件中打开模式,问题是我必须从数据表 (datatables.net) 中的按钮打开此模式,因为 OnClick()不存在,只有 onclick() 我在调用模态时遇到问题。
是否可以让它发挥作用?
这是模态 link 样本
https://www.c-sharpcorner.com/article/modal-popup-in-spfx/
在我试过的数据表中
{
data: null,
render: function (data, type, row, meta) {
return '<input type="button" class="name" id=n-"' + meta.row + '" value="Edit"/> <input type="button" class="salary" id=s-"' + meta.row + '" value="Delete"/>';
}
然后
that = this;
$('#example tbody').on('click', '.name', function () {
var data = table.row($(this).closest('tr')).data();
that.state.callchildcomponent && <MYModal myprops={that.state} handler={that.handler} />
});
但预计会像这样工作
public render(): React.ReactElement<ICertificatesListProps> {
return (
<div>
......
<Button onClick={(e) => this.Buttonclick(e)} variant="contained" color="primary" style={{ float: "right" }}>Add +</Button>
{this.state.callchildcomponent && <MYModal myprops={this.state} handler={this.handler} />}
处理程序
handler() {
this.setState({
callchildcomponent: false
});
}
Kidn向社区寻求帮助
这个片段:
that.state.callchildcomponent && <MYModal myprops={that.state} handler={that.handler} />
据我所知,可能只在渲染函数内部起作用。因此,您需要放入渲染功能,就像在带有标准按钮的“库存”示例中一样。我会这样做,在你的按钮处理程序中,会放这样的东西:
that.setState({
callchildcomponent: true
});
我正在使用此解决方案在我的 React SPFx web 部件中打开模式,问题是我必须从数据表 (datatables.net) 中的按钮打开此模式,因为 OnClick()不存在,只有 onclick() 我在调用模态时遇到问题。
是否可以让它发挥作用?
这是模态 link 样本 https://www.c-sharpcorner.com/article/modal-popup-in-spfx/
在我试过的数据表中
{
data: null,
render: function (data, type, row, meta) {
return '<input type="button" class="name" id=n-"' + meta.row + '" value="Edit"/> <input type="button" class="salary" id=s-"' + meta.row + '" value="Delete"/>';
}
然后
that = this;
$('#example tbody').on('click', '.name', function () {
var data = table.row($(this).closest('tr')).data();
that.state.callchildcomponent && <MYModal myprops={that.state} handler={that.handler} />
});
但预计会像这样工作
public render(): React.ReactElement<ICertificatesListProps> {
return (
<div>
......
<Button onClick={(e) => this.Buttonclick(e)} variant="contained" color="primary" style={{ float: "right" }}>Add +</Button>
{this.state.callchildcomponent && <MYModal myprops={this.state} handler={this.handler} />}
处理程序
handler() {
this.setState({
callchildcomponent: false
});
}
Kidn向社区寻求帮助
这个片段:
that.state.callchildcomponent && <MYModal myprops={that.state} handler={that.handler} />
据我所知,可能只在渲染函数内部起作用。因此,您需要放入渲染功能,就像在带有标准按钮的“库存”示例中一样。我会这样做,在你的按钮处理程序中,会放这样的东西:
that.setState({
callchildcomponent: true
});