-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
常见 FAQ #1914
Comments
Q1. hi-ui里面,菜单和路由是一个概念吗? 能从服务器加载菜单,然后根据path查找路由,再打开相应的组件吗?
另外,最终还是需要根据业务需求的不同,在请求菜单数据后动态生成 routeconfig 传入给 Theme。 注意:因为菜单数据是异步加载的。需要等数据返回了,再渲染路由。否则在页面刷新时,菜单路由还未加载是空的,会找不到还没加载的而导致 404。 |
Q2. 使用
|
Q3. 对于某个组件,比如表格的表头可以控制字号大小吗?首先,要明确 HiUI 是一套中后台解决方案,是有专门的设计规范的,存在的一个重要原因就是保证各系统的体验上的一致性。 scss 局部覆盖 HiUI 样式思路:通过 className 进行样式赋值,在对覆盖的样式使用另一层样式进行包裹,避免样式污染(影响到其它完全不需要覆盖的组件样式)。 例如,对于 Q3 提到的这个需求,表格的表头自定义字号大小。我们可以这么做:
// src/views/custom-page/index.scss
.custom-page {
.custom-page__table { // 避免全局污染,使用自定义的一层 `.custom-page__table` 进行包裹
.hi-table__header__title { // HiUI 组件中的样式类名
font-size: 16px; // 需要覆盖的属性
}
}
}
// src/views/custom-page/index.js
import './index.scss' // 引入刚刚编写的样式文件
function CustomPage (props) {
return (
<div className="custom-page">
<Table {...props} className="custom-page__table"></Table>
</div>
)
} |
Q4. 尝试修改 package.json 以安装新版本的 HiUI 或者回退到之前版本的 HiUI,发现
|
Q5. 如何使用 npm 安装依赖包到至指定版本的方法?比如,将 npm update @hi-ui/hiui@next |
Q6. 当一个组件更新了新 feature 或者修复了 bug,可以直接升级吗? 升级新版本对其它组件有没有影响吗?首先,我们默认遵循 semver 规范, 也就是说我们默认只维护大版本的最新版本,只要不是大版本升级,比如 1.0.0 升到 3.0.0,那么就可以放心升级,对其他组件不会有任何影响。 |
Q8. 刚刚 HiUI 发了新版本,为什么无法安装到新版本呢,总是报错如下:
|
Q9. React 如何通过 className 或者 style 属性对组件进行样式编写?这个属于前端基础问题,可以参考React普通样式(className)和行内样式(LineStyle)多种设置样式设置详解 这篇文章进行学习编写。 另外,对于新人来讲,可以看一下 HTML、CSS 相关的基础知识 ,帮助自己更好的写前端代码,提升自身开发效率。 |
Q10. [HiUI4] 从 V3 升级过来的话,改动⼤不⼤?
|
Q11. [HiUI4] 安装时 npm 提示包不存在?安装不了?A:建议⼤家使⽤ Npm 官⽅镜像源 registry: http://registry.npmjs.org ,避免其它私有源,⽐如⼩⽶或淘宝源可能未及时同步更新或更新异常。 如果本地有 .npmrc ⽂件,请更新为:
|
Q12. [HiUI4] 我项⽬ React 版本是 17,可以使⽤吗?A:可以,只要是能⽀持 Hook 的版本就可以,也就是 >=16.8.6 的版本。 |
Q13. [HiUI4] Icons 怎么使⽤?按照之前的⽅式好像⽤不了了?A:在 v4 之后,我们使⽤了 SVG 图标替换了原先的 font 图标,更改了使⽤⽅式,如下: import { CloseOutlined } from '@hi-ui/icons';
// 可以使⽤ style 和 className 设置图标的⼤⼩和颜⾊
<CloseOutlined style={{ fontSize: '14px', color: '#eee' }} />; 模拟合包: import * as Icons from '@hi-ui/icons';
export const Icon = ({ name, ...rest }) => {
const Comp = Icons[name]
return Comp ? <Comp {...rest} /> : null;
}
<Icon name={'MessageOutlined'} style={{ fontSize: '16px', color: '#08c'
}} />; 带来的优势是巨⼤的:利⼤于弊
|
Q15. [HiUI4] 封装 HIRequest ⼯具好像不⻅了,该如何引⼊使⽤它?A:HIRequest 它现在是单独的库,叫做 |
Q16. [HiUI4] HiUI V4 ⾥⾯Tooltip\Popover 好像不⽀持包裹⾃定义组件?A:v4的类似Tooltip的组件都做了⼀些优化。 类似 Tooltip的组件都需要确保⼦元素接收对应 trigger 的事件,⽐如 onMouseEnter 、onMouseLeave 、 onFocus 、 onClick 、 onContextMenu 事件。 内部默认没有包裹⼀层div 做事件收集,⽬的是避免多⼀层 div 污染样式布局(⽐如外层是 flex ,当前元素本来设置的 flex:1 就失效了,导致问题难以排查,甚⾄需要重新修改代码)。 |
Q17. [HiUI4] HiUI V4 Form Item rules ⾥配置了 required,但是为啥不显示红⾊的星号?A:v4的 Form 对星号展示做了⼀些额外的处理:展示星号和是否进⾏必填校验是隔离的。 ⽬的其实很简单:
具体解决办法如下:
<FormItem field="testInput2" required valueType="string" label="密码">
<Input />
</FormItem>
<FormItem
label="Checkbox"
field="checkbox"
validateTrigger="onChange" // 触发校验时机
rules={ // 校验规则
[{
required: true,
message: '请输⼊内容'
}]
}
valueType="string" // 检验值类型
>
<Input />
</FormItem> |
使用 HiUI 过程中,如果有任何问题、建议,或者出现 bug 都可以给 HiUI 提交 issue!我们会及时处理并反馈!!
The text was updated successfully, but these errors were encountered: