我正在尝试在 Dart 中创建一个“echo”WebSocket,但在网上我只能找到过时的示例。
这是我目前的代码:
服务器:
import 'dart:io';
import 'dart:convert';
void main() async {
final serverSocket = await ServerSocket.bind('127.0.0.1', 5600);
await for (Socket socket in serverSocket) {
socket.transform(utf8.decoder).listen((data) {
print(data);
});
}
}
Run Code Online (Sandbox Code Playgroud)
客户:
import 'dart:html';
WebSocket socket;
bool open = false;
void main() {
querySelector('#sendHello').onClick.listen(onClick);
querySelector('#output').text = 'Your Dart app is running.';
socket = WebSocket('ws://localhost:5600');
socket.onMessage.listen(socketMessage);
socket.onOpen.listen((_) => open = true);
}
void socketMessage(MessageEvent event){
print('I recived: ${event.data}');
}
void onClick(MouseEvent event) {
if (!open)
print('Connection is not open!');
else …Run Code Online (Sandbox Code Playgroud) 目前我有一个简单的材料表,如下所示:
<MaterialTable
options={myOptions}
title="MyTitle"
columns={state.columns}
data={state.data}
tableRef={tableRef} // Not working
editable={{
onRowAdd: ...,
onRowDelete: ...,
onRowUpdate: ...
}}
/>;
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建新的添加按钮(而不是编辑当前按钮):栏列中的每一行都应该有一个自定义添加按钮。我查看了 MaterialTable 源代码,但无法重现用于默认添加按钮的代码:
calculatedProps.actions.push({
icon: calculatedProps.icons.Add,
tooltip: localization.addTooltip,
position: "toolbar",
disabled: !!this.dataManager.lastEditingRow,
onClick: () => {
this.dataManager.changeRowEditing();
this.setState({
...this.dataManager.getRenderState(),
showAddRow: !this.state.showAddRow,
});
},
});
Run Code Online (Sandbox Code Playgroud)
特别是我无法访问该dataManager变量。
这就是当前表格的样子,我需要在有红色标志的地方添加添加按钮。
我尝试了多种方法来获取表内单击按钮的行索引。
桌子:
while ($info = mysqli_fetch_array($sql)) {
echo "<tr>";
echo "<th>{$info['name']}</th>";
echo "<th>{$info['pass']}</th>";
echo "<th><a href='http://{$info['link']}'>{$info['link']}</a></th>";
echo "<th><div class='delbuttons'><button class='btn btn-info' data-toggle='modal' data-target='#myModal' id='{$info['id']}'>Delete</button></div></th>";
echo "</tr>";
}
?>
Run Code Online (Sandbox Code Playgroud)
这些是我尝试过的方法:
$(document).on('click', '.delbuttons button', function(event) {
alert($(this).index());
}
Run Code Online (Sandbox Code Playgroud)
但它总是返回-1。
$(document).on('click','.delbuttons button', function(event) {
alert(this.rowIndex);
}
Run Code Online (Sandbox Code Playgroud)
这将返回undefined。
javascript ×2
dart ×1
datatable ×1
html-table ×1
jquery ×1
onclick ×1
reactjs ×1
row ×1
sockets ×1
typescript ×1
websocket ×1