小编Tom*_*Tom的帖子

Material UI 5 类名称样式

我从 Mui 4 迁移到 5,想知道如何使用类名。如果我想将某些样式仅应用于一个组件,则可以使用 SX 属性。但是,我正在努力为多个组件使用相同的类。在 v4 中,我的代码如下所示:

export const useStyles = makeStyles((theme: Theme) =>
  createStyles({
    root: {
      padding: theme.spacing(1),
      margin: 'auto',
    },
  })
)
Run Code Online (Sandbox Code Playgroud)

我可以在任何组件中导入这个useStyles钩子并像这样使用它:

const classes = useStyles()
...
<div className={classes.root}>...</div>
Run Code Online (Sandbox Code Playgroud)

该文档说,我可以“用类名覆盖样式”,但他们没有告诉如何做到这一点: https://mui.com/customization/how-to-customize/#overriding-styles-with-class -名称

我是否必须将这些样式放入外部 CSS 文件中?

.Button {
  color: black;
}
Run Code Online (Sandbox Code Playgroud)

我宁愿在我的 ts 文件中定义样式。

我还找到了这个迁移指南: https ://next.material-ui.com/guides/migration-v4/#migrate-makestyles-to-emotion

我不喜欢方法一,因为使用这个 Root 包装器,有条件地应用类很不方便。(特别是对于打字稿,有一些开销)方法二带有外部依赖项和一些样板代码。

理想情况下,我会使用这样的样式,也许在样式对象周围使用一个说唱歌手函数:

export const root = {
  padding: theme.spacing(1),
  margin: 'auto',
}

<div className={root}>...</div>
Run Code Online (Sandbox Code Playgroud)

当然,最后一种方法不起作用,因为 className 需要一个字符串作为输入。有人知道有很少样板代码的替代方案吗?

css emotion reactjs material-ui css-in-js

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

Vue 3 Typescript 类组件 - 类型 'typeof import(.../node_modules/vue/dist/vue")' 不是构造函数类型

嗨,我正在使用带有 Typescript 和类组件的 Vue 3。我只是从文档中复制粘贴了示例,但看起来 Typescript 存在问题:

TS1238: Unable to resolve signature of class decorator when called as an expression.
  This expression is not callable.
    Type 'typeof import(".../node_modules/vue-class-component/dist/vue-class-component")' has no call signatures.

TS2507: Type 'typeof import(".../node_modules/vue/dist/vue")' is not a constructor function type.
Run Code Online (Sandbox Code Playgroud)

文档:https : //class-component.vuejs.org/guide/class-component.html

有人知道缺少什么吗?谢谢!

错误

typescript vue.js vue-component vue-class-components vuejs3

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

Spyder 4 - 几秒钟后停用最后一个单词的自动突出显示

当我停止在 Spyder 4 中输入时,大约两秒钟后所有出现的最后一个单词都会自动突出显示。这是一个错误还是我可以禁用它?

我在 Ubuntu 18.04 上使用 Spyder。

突出显示

python spyder anaconda

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

PostgreSQL 重命名表 - 级联重命名对象,例如包含表名的索引、约束

我用以下命令重命名了我的表ALTER TABLE _ RENAME TO _

ALTER TABLE foods RENAME TO food;
ALTER TABLE foods_nutrients RENAME TO food_nutrient;
Run Code Online (Sandbox Code Playgroud)

它有效,但是包含这些表名的其他数据库对象(例如索引、序列和约束)没有更新。所以我必须像这样手动更新它们:

ALTER INDEX foods_pkey RENAME TO food_pkey;
ALTER SEQUENCE foods_id_seq RENAME TO food_id_seq;
ALTER TABLE food_nutrient RENAME CONSTRAINT foods_nutrients_food_id_fkey TO food_nutrient_food_id_fkey;
Run Code Online (Sandbox Code Playgroud)

没有必要重新命名它们,但不这样做感觉不对。我想知道是否有命令可以自动执行此操作。或者重命名所有包含旧表名的对象并不常见?

postgresql

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

Nuxt:找不到命令“nuxt”-输出目录“dist/”不存在

我已经使用 CLI 使用此配置成功创建了一个 Nuxt.js 项目:

Project name: test
Programming language: JavaScript
Package manager: Npm
UI framework: None
Nuxt.js modules: None
Linting tools: None
Testing framework: None
Rendering mode: Single Page App
Deployment target: Static (Static/JAMStack hosting)
Development tools: jsconfig.json
Version control system: Git
Run Code Online (Sandbox Code Playgroud)

开发服务器使用npm run dev. npm run build也运行没有错误,并告诉我:

Ready to run nuxt generate 
Run Code Online (Sandbox Code Playgroud)

但是执行nuxt generate会导致错误Command 'nuxt' not found。这很奇怪,因为在我执行npm nuxt list.

找不到nuxt

我首先重新安装了nuxt,然后在删除node_modules/文件夹后重新安装了所有依赖项,但错误仍然相同。如果我只是运行npm run start它会告诉我

Nuxt Fatal Error …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2 nuxt.js nuxtjs

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

Vuetify vuetify 组件的自定义样式,例如带有 css 的 v-textarea

如何使用 css 定位 vuetify v-textarea 的底层 html textarea?就我而言,我想更改 v-textarea 的行高、字体系列、颜色等。它不是这样工作的:

<v-textarea class="custom-textarea"></v-textarea>

.custom-textarea {
  line-height: 1;
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

我还尝试了其他几个选择器,例如v-textarea, .v-textareav-text-field__slot但这些都不起作用。文本区域的正确选择器是什么?

css vue.js vuetify.js

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