小编hrp*_*xQ4的帖子

网格模板区域无效的属性值

我正在尝试创建联系表单,并考虑过使用CSS grid

这就是我想要实现的目标

屏幕截图

我不想使用表格,因为在较小的屏幕上,我只希望有1列,并在同一行的第一列的项目下方替换第二列的项目。

在较小屏幕上的结果将是:

屏幕截图]

我开始创建这个

#contactForm {
  display: grid;
  grid-template-areas: "lblFirstName lblLastName" "edtFirstName edtLastName" "lblCompany" "edtCompany" "lblEmail lblPhone" "edtEmail edtPhone" "lblMessage" "edtMessage" "btnSubmit";
  grid-gap: 20px;
  padding: 100px;
}

label[for=firstname] {
  grid-area: lblFirstName;
}

label[for=lastName] {
  grid-area: lblLastName;
}

label[for=company] {
  grid-area: lblCompany;
}

label[for=email] {
  grid-area: lblEmail;
}

label[for=phone] {
  grid-area: lblPhone;
}

label[for=message] {
  grid-area: lblMessage;
}

input[name=firstname] {
  grid-area: edtFirstName;
}

input[name=lastName] {
  grid-area: edtLastName;
}

input[name=company] {
  grid-area: edtCompany;
}

input[name=email] {
  grid-area: edtEmail; …
Run Code Online (Sandbox Code Playgroud)

html css

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

使用全局 axios 配置未定义不记名令牌

我使用 Axios 创建了一个 Vue 应用程序。我通过 Vue UI 依赖安装安装了 Axios。在我的main.js文件中,我添加了一个全局配置

import Vue from "vue";
import "./plugins/vuetify";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import axios from "axios";

Vue.config.productionTip = false;

axios.defaults.baseURL = "http://localhost:3000";
axios.defaults.headers.common["Authorization"] = `Bearer ${localStorage.token}`;
axios.defaults.headers.post["Content-Type"] = "application/json";

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");
Run Code Online (Sandbox Code Playgroud)

当我想signOut执行此操作时

signOut: async function() {
  try {
    const response = await axios.post("/users/signout");
    // go on
  } catch (err) {
    // err handling
  } …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js axios

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

显示div,即使是空的

我使用Vuejs并且有一个带有div容器的组件,如果它是空的则会崩溃.

<template>
  <div>{{ content }}</div>
</template>

<script>
export default {
  name: "myComponent",
  props: {
    content: String
  }
};
</script>
Run Code Online (Sandbox Code Playgroud)

当我使用这个组件时,我可以选择

<MyComponent content="text to show" />
Run Code Online (Sandbox Code Playgroud)

但如果我想让它变空呢?然后div没有空间而且崩溃了.我想阻止它.

<!-- This one takes no space -->
<div></div>
<div>This one takes space</div>
Run Code Online (Sandbox Code Playgroud)

我想过传递一个unicode

https://www.compart.com/de/unicode/U+2800

div {
  background: red;
  margin: 20px;
}
Run Code Online (Sandbox Code Playgroud)
<div>&#10240;</div>
<div>This one takes space</div>
Run Code Online (Sandbox Code Playgroud)

但是当接收字符串作为参数时,组件不会将其转换为unicode字符.

是否有使用CSS而不是unicode字符的解决方案?

我创建了一个小例子来展示当前的问题

https://codesandbox.io/s/o5l1kl290y

html css vue.js

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

采用默认值,而不是设置try catch块

我必须查询一些可能为空的数据,并在访问它们时引发异常。假设我必须查询一个整数字段

int[] numbers = { 0, 1, 2, 3, 4 };
int targetNumber = numbers[10];
Run Code Online (Sandbox Code Playgroud)

我将不得不包装int targetNumber = numbers[10];到try catch块中,因为索引将抛出超出范围的异常。

int targetNumber;

try
{
    targetNumber = numbers[10];
}
catch (Exception)
{
    targetNumber = 7; // default value for index 10
}
Run Code Online (Sandbox Code Playgroud)

当加载多个字段时,这将是非常低效的。我正在寻找一种使用这种东西的方法

int targetNumber = numbers[10] || 7;
Run Code Online (Sandbox Code Playgroud)

引发异常时,应用程序将不会崩溃并采用默认值。通过这种方法,我可以避免多个try catch块。

整数数组只是一个例子。我在考虑带有复杂对象的复杂集合。因此,外部库可以使我访问类型集合,ICollection并且可以使用字符串(键)访问这些集合。如果密钥不存在,则会引发异常。

所以当访问这些

string value = collection["myKey"]
Run Code Online (Sandbox Code Playgroud)

我想将其扩展到

string value = collection["myKey"] || "MyDefaultValueToTakeIfSomethingFailed";
Run Code Online (Sandbox Code Playgroud)

c#

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

为现有存储库生成项目

创建新的 Vue 项目时,我使用 Vue CLI(终端)。我运行vue create projectName并生成了一个本地存储库(带有 git 文件)。

当我有现有项目时,例如在 Github 上,此存储库将具有以下路径

https://github.com/user/projectname.git
Run Code Online (Sandbox Code Playgroud)

现在,我克隆了这个空存储库,使用 Vue CLI 生成一个新存储库,并将所有文件从本地存储库移动到 Github 存储库。之后我可以删除本地的。

有没有办法生成新项目并将所需文件直接推送到现有存储库?

git vue.js vue-cli vue-cli-3

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

如果另一个相关字段发生更改,则强制进行新的验证

我想验证两个相互关联的文本字段。第一个必须小于第二个(例如最小/最大、开始日期/结束日期)。

所以对于编码部分我创建了这个

HTML:

<div id="app">
  <v-app id="inspire">
          <v-text-field
              v-model="values[0]"
              :rules="firstValidation"
            ></v-text-field>

            <v-text-field
              v-model="values[1]"
              :rules="secondValidation"
            ></v-text-field>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

new Vue({
  el: '#app',
  data () {
    return {
      values: [1, 2]
    }
  },
  computed: {
    firstValidation: function () {
      return [value => parseFloat(value) < this.values[1] || "Must be less than second value"]
    },
    secondValidation: function () {
      return [value => parseFloat(value) > this.values[0] || "Must be greater than first value"]
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

我也会在这里提供一个片段

https://codepen.io/anon/pen/NZoaew?editors=1010

当我更改一个字段的值时,另一个字段将不会重新验证。重现步骤:

  • 将第一个字段的值更改为 12

第二个字段的值为 2 所以你会得到一个错误 …

vue.js vuetify.js

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

isJoi = true; 语法错误:意外的令牌 =

我正在多台机器上使用 NestJs 后端。一台机器无法处理@hapi/joi包。在开发模式下运行 NestJs 应用程序时,出现此错误

PS C:\Users\mhermsen\Desktop\joi-test> npm run start:dev

> joi-test@0.0.1 start:dev C:\Users\mhermsen\Desktop\joi-test
> nest start --watch

8:32:49 AM - Starting compilation in watch mode...


8:32:51 AM - Found 0 errors. Watching for file changes.
C:\Users\mhermsen\Desktop\joi-test\node_modules\@hapi\joi\lib\errors.js:246
    isJoi = true;
          ^

SyntaxError: Unexpected token =
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (C:\Users\mhermsen\Desktop\joi-test\node_modules\@hapi\joi\lib\index.js:9:16)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
Run Code Online (Sandbox Code Playgroud)

我试图重现这个问题。首先,我通过nest new …

npm typescript joi nestjs

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

不能对 Type-GraphQL 字段类型使用类型“对象”

我想为我的 NestJs API 创建一个 GraphQL 层。所以基于这个接口持有一个键/值对

export interface Mapping {
  id: string;
  value: object;
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个 DTO 作为 GraphQL 查询的返回类型

@ObjectType()
export class MappingDTO {
  @Field(() => ID)
  id: string;

  @Field()
  value: object;
}
Run Code Online (Sandbox Code Playgroud)

所以当我想找到所有映射时,我会想出这个

  @Query(() => [MappingDTO])
  public async mappings(): Promise<Mapping[]> {
    return this.mappingsService.getMappings();
  }
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不能object用于 value 字段。我收到这个错误

NoExplicitTypeError: 您需要为 MappingDTO#value 提供显式类型!

当改变类型时,例如string在启动时没有错误被抛出。问题是我无法指定显式类型,因为我的 MongoDB 存储了包含“任何东西”的对象。

如何修复解析器或 DTO 以处理对象类型?


编辑:

解析器装饰器也是如此。当我有这个

  @Query(() => Object)
  public async getValueByKey(@Args('id') id: string): Promise<object> {
    return this.mappingsService.getValueByKey(id);
  }
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

错误:无法确定 …

graphql nestjs typegraphql

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

清除datagridview重复的行并保留唯一的行

所以在填充我的datagridview时,我通常会做类似的事情

    public void FillTable(CoBRAMetaField[] metaFields)
    {
        dataGridView.Rows.Clear();

        // do something with metaFields
    }
Run Code Online (Sandbox Code Playgroud)

重要:

  • CoBRAMetaField 是一个带有ID和其他东西的对象

  • 网格中的每一行都包含一个metafield对象

我的网格被正确填充(对不起,语言是德语)

在此输入图像描述

当我再次填充网格时,我只想删除新metaFields数组中不存在的metaFields的行.我想要这种行为,因为当用户为此行选择一个值时,我不希望它被删除并再次创建,因为这样也会删除所选的值.

我想出了这个

    public void FillTable(CoBRAMetaField[] metaFields)
    {
        for (int i = 0; i < dataGridView.Rows.Count; i++) // loop through the grid rows
        {
            double metaFieldID = (dataGridView.Rows[i].Cells[0].Tag as CoBRAMetaField).ID; // get the ID from the row metaField

            if (metaFields.Any(field => field.ID == metaFieldID)) // Does it exist?
                metaFields = metaFields.Where(field => field.ID != metaFieldID).ToArray(); // Remove it from the new array
            else …
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms

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

使用 process.exit(1) 终止进程时返回什么;

我想throw new Error('Unknown command.')用日志语句和process.exit(1);. 鉴于此示例代码

private getCommandByName = (name: string): ICommand => {
    try {
        // try to fetch a value from a map
        return <ICommand> this.commands.get(name);
    } catch (error) {
        console.log('Unknown command.');
        process.exit(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

函数缺少结束返回语句并且返回类型不包括“未定义”。

要修复它,我必须抛出异常。当我想终止进程时,我必须返回什么?

javascript node.js typescript

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