小编Mat*_*tia的帖子

Dart 中的 Echo WebSocket

我正在尝试在 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)

sockets websocket dart

5
推荐指数
1
解决办法
1083
查看次数

在材质表中添加自定义添加按钮

目前我有一个简单的材料表,如下所示:

<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变量。

当前表

这就是当前表格的样子,我需要在有红色标志的地方添加添加按钮。

javascript datatable typescript reactjs material-table

2
推荐指数
1
解决办法
2万
查看次数

正确获取单击按钮的行索引

我尝试了多种方法来获取表内单击按钮的行索引。

桌子:

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 jquery row html-table onclick

1
推荐指数
1
解决办法
7320
查看次数