小编Eri*_*rel的帖子

如何使用flex-grow?

在文档和Bootstrap v4 (这里)的问题中,我看不到任何支持计划flex-grow,例如这样的语法:

<div class="d-flex">
      <div  class="flex-grow">
        I use all the space left
      </div>
      <div>
        I am a small text on the right
      </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这里是我想要创建的布局示例:

图片

导出按钮始终在右侧,导航按钮占用了所有空间,因此看起来很干净.

是否有可能建立这样的布局?也许不建议?当然,有一些使用CSS的解决方法,但我正在寻找一个干净的解决方案,理想情况下只使用Bootstrap类名来保证一致性.

css layout flexbox bootstrap-4

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

VS Code 中 codeActionsOnSave 和 formatOnSave 的区别

较新版本的 VS 代码包括一个新codeActionsOnSave选项。例如,建议设置 Eslint。但是,我不明白与以前存在的formatOnSave选项的区别,也不理解它们与defaultFormater选项、Prettier 和 ESLint 等插件以及 VS Code 默认行为的关系。

“修复”似乎更完整,但禁用“格式”并不总是在保存时格式化我的代码。我也倾向于在 Eslint 和 Prettier 格式之间存在冲突......

由于对 VS Code 缺乏了解,我基本上不清楚如何设置正确的 VS Code 格式配置,该配置尊重项目设置(TypeScript、Eslint、Prettier 等,可以根据项目激活/停用)设置。

typescript eslint visual-studio-code vscode-settings prettier

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

用电子而不是节点运行玩笑

长话短说,我想用电子而不是节点运行我的笑话测试(使用 CLI)。

使用本机模块时这是相关的,因为您需要使用电子头构建它们,而使用普通节点开玩笑地运行它们。所以我必须为我的应用程序(至少在开发模式下)或我的测试构建我的本机模块,我不能同时工作。

在这个帖子中,他们建议使用 mocha,但我想使用 jest,它更先进并且与 React 交互良好。请注意,我不想模拟本机模块,因为我编写了集成测试。

我打开了一个关于zmq github repo的问题。一个提议的解决方案是“使用 ELECTRON_RUN_AS_NODE=true 电子作为节点运行时来针对您的测试”。这是一个非常好的解决方案,因为使用电子既可以使测试环境更接近执行环境,又可以解决我使用本机模块的特定问题。

我想应用它,但我似乎无法设置 jest CLI 来使用电子而不是节点,而且我不知道从哪里开始。也许我应该在没有 CLI 的情况下以编程方式运行 jest ?但是我可能会失去 CLI 很好的测试过滤功能。

有没有人已经解决了这个问题?

native build node.js jestjs electron

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

Cypress 在“get”上的滚动行为和相对定位

调用 Cypresscy.get方法时,页面会滚动,以便所选元素位于页面顶部。

当其顶部有一个相对定位的粘性工具栏时,这是有问题的,因为它可能会系统地隐藏该元素,从而使进一步的click事件失败。

例如,这可以使用Material UI“仪表板”模板来重现。

知道如何解决这个问题,或者通过修改模板以保持粘性顶部菜单而不相对定位(编辑:实际上标题是绝对定位的),或者设置赛普拉斯在获取元素时稍微偏移滚动?

当然,我可以强制点击,cy.click({force:true})但从长远来看这并不是很好。

material-ui cypress

6
推荐指数
2
解决办法
8865
查看次数

如何区分具有泛型的联合?

我正在努力根据它们的几何形状(在显示一些 GeoJSON 数据的上下文中)自动推断不同类型项目的类型。

我使用的是通用类型,因此我没有设法设置自定义类型保护,因为它可以让我区分“个人”项目和“聚合”,但不能区分不同类型的“个人”项目。

基本上,我需要推理级别:

  • 区分单个项目和聚合
  • 区分每个类别中的不同几何形状。

我创建了一个简化示例,在我的真实应用程序中,我有 4 种不同类型的项目,它们可能具有不同的几何形状。

这是一个 TypeScript playground,代码如下:

type A = {type: "A", a: string}
type B = {type: "B", b: string}
type C = {type: "C", c: string}
type Geometries = A | B | C

type IndividualFeature<G extends A | B = A | B> = { geometry: G, indivAttribute: string}
type AggregateFeature = { geometry: C, aggAttribute: string}

type DisplayableFeature = IndividualFeature | AggregateFeature


const display = (feature: DisplayableFeature) => { …
Run Code Online (Sandbox Code Playgroud)

geojson typescript

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

测试在 Cypress 中拖动 Leaflet 地图

我有一个非常简单的用例:我想在更改传单地图视口时通过抓取来测试数据获取。但是,我无法弄清楚如何编写测试。这是代码:

      cy.visit("/map");
      // wait for data
      cy.get(".leaflet-interactive.multilinestring");
      // simulate map moving
      cy.get(".leaflet-container")
        .trigger("mousedown", "center")
        .trigger("mousemove", 30, 30);
        .trigger("mouseup");
      // map should be loading
      cy.get(".leaflet-container.leaflet-loading");
Run Code Online (Sandbox Code Playgroud)

它似乎没有移动地图。

我试图在触发器调用之间添加等待,因为我认为可能会有关于事件触发速度的警卫,但没有运气。

知道我如何测试这个。

javascript dom leaflet cypress

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

按顺序运行一系列传奇效果

我试图按顺序产生一系列传奇效果。这个想法是它将并行yield all([call(foo), call(bar])运行(或者至少以伪并行方式)。call(foo)call(bar)

但是,我希望我的传奇按顺序运行,这意味着我想在启动之前等待foo结束bar(这样我可以取消该过程)。

这个调用数组是动态生成的,所以我可以硬写一系列的yield. 在这种情况下,正确的语法是什么?

yield generator redux redux-saga

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