小编Wil*_*l59的帖子

AppBar 与其他元素重叠

我开始使用 React/Material-UI,并且对 CSS 等也很陌生......我有一个带有 APPBar 的简单页面布局。不幸的是,这个 AppBar 与本应位于其下方的元素重叠。

我找到了这个答案: AppBar Material UI questions

但这感觉完全错误。如果我的 AppBar 具有可变高度(具体取决于图标、显示模式等)怎么办?

我尝试创建一个垂直网格,将元素包装在不同的项目中,将顶部容器设为弹性容器并使用弹性设置,似乎没有任何效果,应用程序栏始终位于文本顶部。

代码很简单:

import React from 'react';
import { AppBar, Typography, Box } from '@material-ui/core';

function App() {
    return (
        <div>
            <AppBar>
                <Typography variant='h3'>
                    AppBar
                </Typography>
            </AppBar>
            <Box>
                <Typography variant='h1' style={{ border: '1px solid black' }}>
                    Hello
                </Typography>
            </Box>
        </div>
    )
}

export default App;
Run Code Online (Sandbox Code Playgroud)

“Hello”文本块只有一半可见:

在此输入图像描述

css appbar reactjs material-ui

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

使用 swagger-ui-express 和 swagger-jsdoc 进行记录时,如何指向 json 文件进行模式定义?

我目前正在使用 ajv 来验证 node/express 中的一些 API 输入。预期数据在 .json 架构文件中描述。

现在我想重新使用这个文件来记录我的 API,依靠 swagger-ui-express 和 swagger-jsdoc。

有很多关于如何在 swagger 中重用对象定义的参考,但所有这些描述都假设定义是在“@swagger”注释块中给出的。

我只是不知道如何指向本地 JSON 文件。

如果我的评论是这样的:

/**
* @swagger
* /init/user:
*   post:
*     description: Creates a user
*     produces:
*       - application/json
*     parameters:
*       - in: body
*         name: create user
*         required: true
*         schema:
*           $ref: 'schemas/initUserApi.json'
*/
Run Code Online (Sandbox Code Playgroud)

(注意这是一个不完整的模板,我想重点解决这个问题),那么最终swagger输出会抛出错误:

Could not resolve reference: Tried to resolve a relative URL, without having a basePath. path: 'schemas/initUserApi.json' basePath: 'undefined'

我尝试定义一个“组件”部分,如本期所述:无法引用 Swagger 中单独文件中定义的组件架构 …

swagger

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

在 react-tabulator 列中正确显示 React 组件

我正在尝试在制表符表中显示 material-ui 反应组件。除行高外,其他内容显示正确。我怀疑在第一次渲染后需要重新渲染,所以 tabulator 知道 React 组件的高度,但我不太确定如何做到这一点。代码如下所示:

import { Fab, } from '@material-ui/core';
import { Lock,} from '@material-ui/icons'

const RegisterButton = (props) => {
    const cellData = props.cell._cell.row.data;
    return (
        <Fab
            size='small'
            onClick={handleTownRegisterClick(cellData.id)}
        >
            <Lock fontSize="inherit" />
        </Fab>
    )
}

const columns = [
    { title: 'Id', field: 'id', width: 45 },
    { title: "Register",
        field: "custom",
        align: "center",
        formatter: reactFormatter(<RegisterButton />),
        width: 100,
        headerSort: false
    }
];
Run Code Online (Sandbox Code Playgroud)

稍后在我的表中使用:

<React15Tabulator
    columns={columns}
    layout={'fitColumns'}
...
Run Code Online (Sandbox Code Playgroud)

有了这个,我的行是 Fab 组件高度的 2/3。

我看到格式化程序原型是 formatter:function(cell, formatterParams, …

reactjs material-ui tabulator

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

Android中的Qt和应用程序数据存储

我正在开发一个使用Qt / C ++的移动应用程序,目前专注于Android。我的应用程序需要以私有和安全的方式存储一些永久性数据(其他应用程序不可访问,并受到尽可能多的保护):

  • 一些基本的键/值设置:QSettings似乎是我在这里需要的。问题是,此操作在Android中最终会出现在哪里,是否存储在共享首选项部分中?
  • 二进制文件,例如一些图片(这些图片是由应用创建的,而不是静态资源)。我将其存储在内部存储文件中;我将其存储在Qt中的什么位置?我是否使用Qt的文件功能以及java调用来查找应用程序的内部存储文件夹,还是有专门为此设计的Qt对象?

谢谢。

c++ qt storage android

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

什么可能导致 mysql db read 返回陈旧数据

我正在追查 mysql 应用程序的问题。在某些时候,我的客户端使用包含在语句中的查询插入一些数据START TRANSACTION; .... COMMIT;。之后另一个客户端来读回数据,但它不在那里(我确信事情的顺序)。

我正在运行nodejs、express、mysql2,并使用连接池,进行多语句查询。

有趣的是我在 mysqlworkbench 上看到了奇怪的东西。我只有一个工作台实例,它也看不到新插入的数据。我打开第二个,它看到了新数据。几分钟后,第一个实例仍然看不到新数据。点击“重新连接到 DBMS”,现在它就可以看到它了。如果将工作台行为应用于我的节点客户端,则可以解释我在节点/mysql2 中看到的错误结果。

某处正在进行某种缓存...不知道从哪里开始:-( 有任何指示吗?谢谢!

mysql node.js mysql2 express

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

Qt QML RoundButton 图标未填充项目

当在 RoundButton 内显示 svg 图像时,我最终得到固定宽度(灰色)边框(svg 不填充按钮)。

我使用的图标是圆形的;svg 大小设置为与该图像匹配。我努力了:

  • 添加background: undefined:删除灰色边框(但不固定图标大小),所以我们看到的是灰色背景。

  • 修改按钮的大小:边框似乎始终具有相同的宽度,因此看起来分配了固定的边距

  • 将图标更改为正方形:效果相同,顶部、底部、侧面的边框似乎是固定大小的。根据按钮的大小,正方形将包含在按钮内,或“突出”。

    RoundButton {
      height: 45
      width: height
      anchors.top: parent.top
      anchors.right: parent.right
      icon.source: "qrc:/images/controls/roundInfo.svg"
      icon.height: height
      icon.width: width
    }
Run Code Online (Sandbox Code Playgroud)

如何消除图标周围的空白?


提供一个简化的 svg 文件用于测试:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="10.6mm" height="10.6mm" version="1.1" viewBox="0 0 10.6 10.6" xmlns="http://www.w3.org/2000/svg">
 <path transform="scale(.265)" d="m20 0c-7.4-3.71e-7 -13.9 4.05-17.3 10.1h34.7c-3.46-6-9.92-10.1-17.3-10.1zm-17.4 10.1c-1.69 2.93-2.67 6.32-2.67 9.95-3.32e-6 11 8.96 20 20 20l-17.4-30zm17.4 30c11 0 20-8.96 20-20 1e-6 -3.62-0.983-7.01-2.67-9.95l-17.4 30z" fill-rule="evenodd" style="paint-order:normal"/>
</svg>

Run Code Online (Sandbox Code Playgroud)

qt qml qt5

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

在 React 中调用制表函数

我在 React 下使用 Tabulator 和 react-tabulator 模块。

我错过了一些非常基本的东西,可能是由于我对 React 的新了解。实现这个模块,我知道如何将制表器回调连接到 JavaScript 函数。但我不知道如何调用制表器方法。例如:

  const options = {
    height: '100%',
    ajaxURL: 'http://example.com',
    ajaxProgressiveLoad: 'scroll',
    ajaxError: (error) => {
      console.log('ajaxError ', error);
    },
  };

...

      <ReactTabulator
        columns={columns}
        layout="fitColumns"
        data={[]}
        options={options}
      />
Run Code Online (Sandbox Code Playgroud)

这里 ajaxError 回调被传递给 ReactTabulator,并在适当的时候调用。

现在,tabulator 模块有很多方法,例如 setData。在 React 之外,这将按如下方式使用:

var table = new Tabulator("#example-table", {
    ajaxURL:"http://www.getmydata.com/now", //ajax URL
});

...

table.setData("http://www.getmydata.com/now");
Run Code Online (Sandbox Code Playgroud)

由于我无法直接访问“表”对象的等效项,因此如何将其转换为 React 世界(在钩子环境中)?我是否需要使用 getElementById 或类似的方法来访问我的制表器对象?

javascript reactjs tabulator react-hooks

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