本文档将帮助您从 NutUI React 1.x 升级到 NutUI React 2.x 版本。
- H5 安装 NutUI React 2.x 版本
npm install @nutui/nutui-react- Taro 安装 NutUI React 2.x 版本
npm install @nutui/nutui-react-taro- 处理不兼容更新
从 NutUI React 1.x 到 NutUI React 2.x 存在一些不兼容更新,需要仔细阅读不兼容更新内容,并依次处理。
你可以手动对照下面的列表逐条检查代码进行修改,另外,我们也提供了一个 codemod cli 工具 @nutui/nutui-react-codemod 以帮助你快速升级到 v2 版本。在运行 codemod cli 前,请先提交你的本地代码修改。
- 主题变量更名:
如,primary-color 更名为 color-primary;注意在使用自定义主题,特别是使用 ConfigProvider 组件的情况下,有没有使用
nutuiBrandColor,这时记得更名为nutuiColorPrimary
- 组件样式处理
新增了按需引入 css 文件的支持,同时保留了按需引入 scss 文件的能力。可通过 babel-import-plugin 插件实现按需引入 css:
H5配置如下:
// Webpack .babelrc 或 babel.config.js中配置
plugins: [
[
"import",
{
libraryName: "@nutui/nutui-react",
libraryDirectory: "dist/esm",
style: 'css',
camel2DashComponentName: false,
},
"nutui-react",
]
]Taro配置如下:
// Webpack .babelrc 或 babel.config.js中配置
plugins: [
[
"import",
{
libraryName: "@nutui/nutui-react-taro",
libraryDirectory: "dist/esm",
style: 'css',
camel2DashComponentName: false,
},
"nutui-react-taro",
]
]- 更完善的类型导出以及对类型增加
JSDoc注释 - 组件分类的调整 在组件分类上,我们从交互维度上,和交互设计侧共同对 1.x 分类进行了基于信息结构的评审,并进行了子类梳理,完成重新分类,目标是更贴合交互场景的分布,易于查找组件。主要分布在:
- 基础组件,将
Popup组件移除,将Popup细分到操作反馈-引导提示部分; - 布局组件,保持不变;
- 导航组件:将分页相关组件
Pagination、Indicator移动到展示组件(考虑移动端的分页轻操作);Menu菜单移动到数据录入类-选择器子类(考虑Menu主要是作为筛选器);将BackTop移至导航组件,作为锚点组件的一部分; - 展示组件:将
Badge、NoticeBar、Popover移至操作反馈-引导提示类,Empty、Skeleton移至操作反馈-加载状态结果反馈中;WaterMark、TrendArrow作为特性增强类组件放在特色组件中,待由该类组件的使用场景和范围确认是否变更分类;同时新增Audio,将其同Video、ImagePreview、Swiper一同归为展示-多媒体类; - 操作反馈类,新增
Skeleton、Empty(加载结果反馈类),Popover、Notify、NoticeBar、Popup(引导提示类)6个组件;同时去除BackTop(导航组件-锚点类)、Switch(数据录入-选择器)、Audio``(展示-多媒体);在此基础上,未来会考虑增加 ResultPage,整合错误状态、空状态等反馈状态,该组件在考虑中;同时考虑增加加载状态Loading组件。版本待定。 - 数据录入类,主要分为两大类-输入及选择器。在输入中增加
Signature,该组件在Form表单中的应用范围日渐广泛,从特色组件中移入到数据录入部分;选择器中增加Switch、Menu,及Address。其中Signature和Address都是考虑其常用性,从特色中迁移到数据录入部分。 - 特色组件,保留
Barrage、Card、TimeSelect,新增WaterMark、TrendArrow。
1.x 版本我们在实际开发过程中会发现 Button 只是引用了一个很小的 Loading Icon,但是全量引用了 IconFont 字体 ,会导致开发者的项目文件增大。我们在 NutUI React 2.x 中为解决此问题,重新定义了 Icon 组件,将所有的 Icons 抽离成单独的图标组件库 @nutui/icons-react(Taro 适配下为 @nutui/icons-react-taro) ,使其可以进行按需加载使用。 因此一些组件之前关于 Icon 的相关 Props 将被移除,需要使用插槽或者传递一个 Component 组件的 Props 进行使用。 受影响的组件如下:
- Avatar
- Button
- ImagePreview
- Collapse
- InfiniteLoading
- Popup
- Steps
- Switch
- Toast
- Progress
- NoticeBar
- SearchBar
- Navbar
- Menu
- Tabbar
- Checkbox
- InputNumber
- Input
- Radio
- Rate
- Uploader
- Popover
- Grid
- TrendArrow
如果你的项目中使用了这些组件,请仔细阅读文档并进行升级。
- GridItem -> Grid.Item
- TabbarItem -> Tabbar.Item
- CollapseItem -> Collapse.Item
- SwiperItem -> Swiper.Item
- CellGroup -> Cell.Group
- MenuItem -> Menu.Item
- Infiniteloading -> InfiniteLoading
在 2.0 版本中,我们重点对组件 API 进行了评审和修订,使属性和方法命名更贴合常用的命名习惯及 React 语言规范,目标希望开发者在使用组件时得心应手。我们的思路大体如下:
本次升级重点关注属性的命名方面,从 1.x 的 610 个属性精简为 410 个,更精简、更规范;同时增强属性的类型范围,提升自定义能力。
- 对同一属性进行统一描述,比如:
- 缩写类会改为全拼,如
desc、descSlot、description统一为description - 能使用名词或形容词的优先使用该类词性,一个词能说明白的不用两个词。
- 如
wrap、wrapable统一为wrap - 如将
isXxx统一为xxx,如isVisible、isDeletable等,可直接使用visible、deletable等,形容词化 - 如
showXxx尽量统一为xxx,名词化。【部分属性待优化。】 - 如
roundRadius改为radius,columnNum改为columns等
- 如
onClickXxx统一为onXxxClickmodelValue统一为value,并增加支持defaultValue,支持受控与非受控模式- 对于标识位置、对齐等类的属性,将属性名变更为其上一层的属性定义,如
center会改为align、vertical,改为direction,像标记距离的,如top、bottom、distance等,会改为threshold - 不规范的定义如
okBtn、okText这种,会改为confirmXxx
- 缩写类会改为全拼,如
- 扩充属性的类型。如
title的类型从string扩充为React.ReactNode,增强自定义内容;其中有涉及合并属性的,统一用最简命名来定义属性;如title、titleSlot合并为title,再扩充属性类型。 - 对于
xxClass、xxStyle类的属性,移除,可使用className、style来实现。 - 移除与样式有关的属性,除基础组件的样式属性及部分实现起来较为复杂的样式属性外,大多数样式属性被移除,可通过样式变量来实现。
- 将普遍认同可内置的属性或不怎么使用的属性,直接内置,去掉属性设置。
- 移除
plain,通过fill="outline"实现 - 增加
ref,对外暴露组件内button元素 - CSS 变量中,对
type类型对应的色值的定义,不在暴露到文档中,建议使用默认值,或修改主题变量 - 增加
fill模式类型,dashed,修改fill默认值为outline。 - 增加
rightIcon,可满足同时设置左右两个icon的情况。 - 修改
size为large时的默认width为100%的值,如果使用通栏的button,可搭配block来使用。
subTitle重命名为description,类型修改为React.Nodedesc重命名为extra,类型修改为React.NoderoundRadius重命名为radiuscenter重命名为align,默认值修改为flex-start,可选值为flex-start、center、flex-end- 移除
icon、isLink、url、linkSlot、replace、descTextAlign,通过用户自定义节点实现,参考文档demo示例
- 新增
divider,单元格之间是否有分割线 desc重命名为descriptiontitle、description类型修改为React.Node- 移除
titleSlot和descSlot,通过title、description实现
- 移除
round,通过radius实现圆或圆角 - 移除
loadingImg和slotLoading,通过loading属性实现,当loading属性设置为ReactNode或true时,表示展示loading状态 - 移除
showError和slotError,通过error属性实现,当error属性设置为ReactNode或true时,表示展示error状态 - 移除
loadingImg,可通过loading设置ReactNode - 移除
errorImg,可通过error设置ReactNode showError重命名为error,类型修改为boolean|ReactNodeshowLoading重命名为loading,类型修改为boolean|ReactNode
overlayClass重命名为classNameoverlayStyle重命名为stylecloseOnClickOverlay重命名为closeOnOverlayClick- 更改
lockScroll默认值为true - 新增
afterClose和afterShow,用于完全关闭后触发的回调和完全展示后触发的回调
popClass重命名为className,统一将组件的样式类名使用className,不再指定特殊名字,减轻用户使用的记忆成本overlayClass重命名为overlayClassName,继承自OverlaycloseOnClickOverlay重命名为closeOnOverlayClickonOpened和onClosed重命名为afterShow和afterClose,继承自Overlay,用于完全关闭后触发的回调和完全展示后触发的回调destroyOnClose的描述进行了修订,改为:“组件不可见时,卸载内容”,并把其默认值改为了falseonClickCloseIcon和onClickOverlay两个方法,增加布尔判断,如返回false 或 未定义返回值时,将不再关闭 Popup;默认值为true;在demo中已增加相应示例;同时,两者的名字变更为onCloseIconClick、onOverlayClickcloseIcon类型从string改为ReactNode,以前的closeIcon='mask-close'需改为closeIcon={<MaskClose />}onOverlayClick和onCloseIconClick不会自动触发onClose了,如需触发关闭事件,需主动调用onClose回调函数- 新增
description属性,支持标题下展示描述内容。 - 调整
position为bottom时的默认样式,默认支持圆角,此刻不需要再设置round属性。
- 移除
dashed, 通过style属性实现 - 移除
hairline, 默认为true - CSS 变量调整:
$divider-before-margin-right、$divider-after-margin-left统一为$divider-spacing,$divider-vertical-border-left变更为$divider-border-color,增加$divider-side-width。
- 移除
fontSize,可自行控制传入的组件字体大小 - 移除
border,作为默认样式 columnNum重命名为columnsGridItem使用方式修改为Grid.Item
- 移除
top和bottom, 重命名为threshold
acceptKey重命名为floorKeyindexList重命名为listisSticky重命名为stickyonClickIndex重命名为onIndexClickonClickItem重命名为onItemClick- 新增
showKeys,是否展示右侧导航 - CSS 变量部分,对命名做了简化。
unActiveText重命名为inactiveTextnavList重命名为listslotBtn重命名为contentonSelected重命名为onSelect- 移除
fixednavClass,通过className实现 - 移除
slotList,通过children实现 - 该组件已废弃
BEM规范,记得把__改为-
- 移除
block,暴露自定义节点 - 移除
align,暴露自定义节点 vertical重命名为direction,默认值为horizontal,可选vertical- 移除
fillZero,暴露自定义节点 size重命名为total- 增加非数字展示,并设置为默认状态
- 移除
fontClassName - 移除
iconClassPrefix closeOnClickOverlay重命名为closeOnOverlayClicktitleIcon重命名为iconoptionsIcon重命名为icon- 增加
closeOnClickAway
desc重命名为right,类型修改为React.Node- 新增
left,左侧内容,渲染在返回区域的右侧 - 新增
back,返回区域内容 onClickBack重命名为onBackClick- 移除
title,通过children实现 - 移除
leftTextleftShow,通过back、left实现 safeAreaInsetTop重命名为safeAreaborder废弃- 移除
onClickTitleonClickRightonClickIcon,通过在left、title、right自定义事件实现,参考文档demo示例
- 新增
lite模式,只展示页码,不支持事件交互 - 新增
defaultValue非受控值 modelValue重命名为value,受控值prevText重命名为prev,类型修改为ReactNodenextText重命名为next,类型修改为ReactNodeforceEllipses重命令为ellipseshowPageSize重命名为itemSizeitemsPerpage重命名为pageSizetotalitems重命名为totalpageNodeRender重命名为itemRender- 移除
pageCount,通过total与pageSize组合实现
offset重命名为indent
unactiveColor重命名为inactiveColortabTitle重命名为title,类型修改为ReactNodebottom重命名为fixedsafeAreaInsetBottom重命名为safeAreavisible重命名为defaultValue,非受控activeVisible重命名为value,受控
- 使用方式修改为
Tabbar.Item icon类型改为ReactNode,移除其他icon关联属性- 移除
href,通过onSwitch事件控制链接与路由跳转 - 移除
num,支持传入所有BadgeProps - 移除
color,使用父元素的activeColor,保持同样的active状态
- 增加
lite、card、button、divider模式。 - 移除
background,通过className或style控制 - 移除
titleScroll, 默认支持滚动 - 移除
ellipsis,默认flex:1 - 移除
size,通过 css 变量--nutui-tabs-titles-item-font-size实现 animatedTime重命名为durationtitleGutter重命名为 css 样式变量实现titleNode重命名为titlecolor重命名为activeColortype重命名为activeTypeleftAlign重命名为alignonClick类型改为(index: string | number) => voidonChange类型改为(index: string | number) => void- 增加 defaultValue
- 增加
activeType类型simple,实现选项卡的简约选择,只修改字号和字重,不处理字色。
paneKey重命名为value
poppable重命名为popupisAutoBackFill重命名为autoBackfilltoDateAnimation重命名为scrollAnimationstartText类型改为ReactNodeendText类型改为ReactNodeconfirmText类型改为ReactNodeonBtn重命名为renderHeaderButtonsonDay重命名为renderDayonTopInfo重命名为renderDayToponBottomInfo重命名为renderDayBottomonSelected重命名为onDayClickonChoose重命名为onConfirmonYearMonthChange重命名为onPageChange- 新增
firstDayOfWeek,支持按照周进行选择,指定周起止日,如0-6
- 新增
defaultValue,其中defaultValue用于非受控,原value用于受控。两者的类型都改为(number | string | undefined)[] checkedIcon重命名为activeIconpoppable重命名为popuplazyLoad重命名为onLoad,当启动懒加载lazy时,动态加载数据convertConfig重命名为format,配置转换规则- 合并
textKeyvalueKeychildrenKey三个属性为对象属性optionKey - 移除
tabsColor, 该属性为设置Tabs当前选中的tab的下划线色值,但该值最好与文字部分搭配使用,统一处理 CSS 变量。
- 新增
defaultChecked,用于非受控,checked用于受控 - 新增
value,用于 group 模式 textPosition重命名为labelPositioniconName重命名为icon,类型为ReactNodeiconAcitveName重命名为activeIconiconIndeterminateName重命名为iconIndeterminateIcon- 移除
iconSize - 部分 className 命名变更,废弃
nutui-checkbox__xx命名方式,直接使用nutui-checkbox-xx,并对选中状态命名修订为nutui-checkbox-icon-checked - 增加半选的禁用状态
- 新增
defaultValue,用于非受控,value用于受控 textPosition重命名为labelPositiontoggleAll重命名为toggletoggleReverse重命名为reverse- 部分 className 命名变更,废弃
nutui-checkbox__xx命名方式,直接使用nutui-checkbox-xx,并对选中状态命名修订为nutui-checkbox-icon-checked
modelValue重命名为value,并增加defaultValueisShowChinese重命名为showChineseminDate重命名为startDatemaxDate重命名为endDateonConfirmDatePicker重命名为onConfirmonCloseDatePicker重命名为onClose- 因为依赖组件
Picker的变更,方法onConfirmDatePicker、onChange的参数进行了调整,从(selectedValue, selectedOptions)改为(selectedOptions, selectedValue)。
- 增加
footer,类型为ReactNode,用于表单底部区域,通常用于设置提交、重置按钮 - 增加
initialValues,用于设置表单初始值,同时用于表单的重置 - 增加
name属性
- 移除
labelWidth, 通过--nutui-form-item-label-width控制宽度 - 增加
required,用于必选样式控制 - 增加
trigger,用于设置数据更新的时机 - 增加
valuePropName,用于收集子组件受控的属性映射 - 增加
getValueFromEvent,用于在收集数据中进行数据转换 - 增加
onclick用于收集子组件的ref
- 增加
allowEmpty, 用于允许内容是否为空 - 新增
defaultValue,用于非受控,value用于受控 decimalPlaces重命名为digitsisAsync重命名为async- 移除
inputWidth, 通过--nutui-inputnumber-input-width控制输入框的宽度 - 移除
buttonSize, 通过–nutui-inputnumber-button-width和–nutui-inputnumber-button-height控制按钮的宽度和高度 - taro 新增
formatter属性, 用于指定输入框展示值的格式 - 移除
errorMessage - 移除
showWordLimit autofocus重命名为autoFocustype="textarea"建议改为使用TextArea组件实现
randomKeys重命名为randomcustomKey重命名为customtitle类型变更为ReactNode- 新增
onConfirm事件 - 移除
popClass定义,默认支持透传Popup属性
isVisible重命名为visiblelistData重命名为optionsdefaultValueData重命名为defaultValue- 增加受控
value swipeDuration重命名为durationonCloseUpdate重命名为afterClose- 方法
onConfirm、onClose、afterClose、onChange的参数进行了调整,从(selectedValue, selectedOptions)改为(selectedOptions, selectedValue)。
- 移除
iconSize,可通过 Icon 的 css 变量设置 iconName重命名为icon,类型修改为ReactNode- 增加
labelPosition,用于设置label的位置 - 增加
checked和defaultChecked,用于受控和非受控 onChange类型修改为(checked: boolean) => void- 部分 className 命名变更,废弃
nutui-radio__xx命名方式,直接使用nutui-radio-xx,并对选中状态命名修订为nutui-radio-icon-checked
textPosition重命名为labelPosition- 增加
defaultValue,用于非受控 onChange类型修改为(value: string| number) => void- 部分 className 命名变更,废弃
nutui-radio__xx命名方式,直接使用nutui-radio-xx,并对选中状态命名修订为nutui-radio-icon-checked
maxDesc重命名为maxDescription,类型改为ReactNodeminDesc重命名为minDescription,类型改为ReactNodecurValueDesc重命名为currentDescription,类型改为(value) => ReactNode- 移除
hiddenRange,通过max/minDescription传null实现 - 移除
hiddenTag,通过currentDescription传null实现 - 移除
activeColor、inactiveColor、buttonColor,通过css变量实现 onDragStart重命名为onStartonDragEnd重命名为onEndmodelValue重命为value,增加defaultValue非受控方式
minimizeValue重命名为minreadonly重命名为readOnly- 移除
spacing,通过 css 样式变量实现 - 移除
activeColor、voidColor、iconSize,通过checkedIcon、uncheckedIcon实现 - 增加受控
value与非受控defaultValue,移除modelValue
onClickInput重命名为onInputClick- 移除
clearSize,样式默认 - 移除
background,使用 CSS 变量--nutui-searchbar-background实现 - 移除
inputBackground,使用 CSS 变量--nutui-searchbar-input-background实现 - 移除
align,使用 CSS 变量--nutui-searchbar-input-text-align - 新增
left和right,为ReactNode节点,可自定义内容 - 移除
leftoutIcon和label,使用left实现 - 移除
rightoutIcon和actionText,使用right实现 - 移除
leftinIcon,使用leftIn实现 - 移除
rightinIcon,使用rightIn实现,同时兼顾和 clearIcon 的交互,当设置rightIn时,默认展示 rightIn,当触发输入后,展示 clearIcon。同时增加backable来标记是否展示左侧返回Icon - 移除
onCancel,使用right来实现事件处理 - 移除
onClickLeftinIcon,用户可使用left来实现事件处理 - 移除
onClickLeftoutIcon,用户可使用left来实现事件处理 - 移除
onClickRightinIcon,用户可使用right来实现事件处理 - 移除
onClickRightoutIcon,用户可使用right来实现事件处理
desc重命名为descriptionnoButton重命名为hideFooteronOk重命名为onConfirmerrorMsg重命名为error- 移除
closeOnClickOverlay,默认支持透传 Popup 属性 title、description、tips、error类型修改为ReactNodemodelValue重命名为value,受控模式- 新增
onFoucs事件
maxlength重命名为maxLengthreadonly重命名为readOnlylimitShow重命名为showCountautosize重命名为autoSize- 移除
textAlign,可通过style传入 defaultValue改为非受控,增加受控值value
maximize重命名为maxFileSizemaximum重命名为maxCountlistType重命名为previewTypeisDeletable重命名为deletableisPreview重命名为previewdefaultImg重命名为previewUrldefaultFileList重命名为defaultValueuploadIconTip重命名为uploadLabel,类型变更为ReactNodeonBeforeUpload重命名为beforeUploadonBeforeXhrUpload重命名为beforeXhrUploadonBeforeDelete重命名为beforeDeleteonRemove重命名为onDelete- 增加
fit,用于图片填充模式 - 增加
value,用于受控传值 - 移除
uploadIconSize,可通过 icon 属性传入自定义 icon 或借助 CSS Variables 修改 icon 大小 uploadIcon类型从string调整为ReactNodeonChange参数类型从{fileList: FileItem[], event: any}调整为FileItem[]
title,类型变更为ReactNodedescription,类型变更为ReactNodecancelTxt,重命名为cancelText,类型变更为ReactNodemenuItems重命名为optionschooseTagValue重命名为valueonChoose重命名为onSelect- 增加
options的定义color重命名为dangername,列表项的标题keydescription,列表项的描述keydanger,列表项中提醒用户重点关注的操作disabled,列表项中禁用项
elId重命名为target- 移除
right、bottom,通过 style 传入,增加支持left、top distance重命名为threshold- 移除
isAnimation,通过duration设置 0 实现无动画效果
okText重命名为confirmText,规范命名。mask重命名为overlay,组件库中统一使用 Overlay 组件作为遮罩层,并使用 overlay 作为是否展示遮罩层的属性值。closeOnClickOverlay重命名为closeOnOverlayClick,组件库统一到该属性。noOkBtn重命名为hideConfirmButton,初始值不变,依然表示是否隐藏确认按钮,主要是为了语义化更强。noCancelBtn重命名为hideCancelButton,初始值不变,依然表示是否隐藏取消按钮,主要是为了语义化更强。okBtnDisabled重命名为disableConfirmButton,初始值不变,依然表示是否禁用确认按钮,主要是为了语义化更强。- 移除
noFooter,使用 footer 统一处理,当 footer 为空时,及可替代该值。目前 noFooter 也需要手动声明是否为 noFooter;修改后需手动指出 footer={null} - 移除
textAlign,改用样式变量--nutui-dialog-content-text-align或 SCSS 变量$dialog-content-text-align控制,默认值为 center。 - 移除
cancelAutoClose,改为beforeCancel和beforeClose来实现,在点击关闭或取消时,可先触发这两个方法,以确定是否要关闭弹框,如返回true,则关闭;否则不关闭。 onOk重命名为onConfirm,规范命名。onClosed重命名为onClose,规范命名,关闭时触发。onClickSelf重命名为onClick,语义不变,仍表示点击弹框自身时触发事件。- 增加
overlayStyle和overlayClassName,用来配置 Overlay 组件样式。 - 增加
onOverlayClick,支持点击overlay时,触发事件。 onCancel回调不会自动关闭弹层,需主动调用Dialog.close(xx)
useCapture重命名为captureonScrollChange重命名为onScrollisOpenRefresh重命名为pullRefreshpullTxt重命名为pullingText,类型变更为ReactNodeloadTxt重命名为loadingText,类型变更为ReactNodecontainerId重命名为target- 修订类名如
top-box、bottom-box为nut-infinite-top-tips、nut-infinite-bottom-tips
- 移除
color,通过css变量--nutui-notify-text-color实现 - 移除
background,通过css变量--nutui-notify-base-background-color实现 onClosed重命名为onClose
- 移除
leftWidth,通过leftAction实现 - 移除
rightWidth,通过rightAction实现
- 新增
defaultChecked,用于非受控,checked用于受控 - 移除
isAsync,通过checked实现 - 移除
activeColor,通过css变量--nutui-switch-open-background-color实现 - 移除
inactiveColor,通过css变量--nutui-switch-close-background-color实现
- 移除H5版本
id - 移除
center和bottom,通过position实现 - 移除
bgColor,通过 css 变量实现 - 移除
customClass,通过className实现 - 移除
cover和coverColor,通过css变量实现 - 移除
loadingRotate,旋转状态通过iconFont实现 - 移除
textAlignCenter,通过css变量实现 - 修改
closeOnClickOverlay为closeOnOverlayClick,语义不变,是否在点击遮罩层后关闭提示 - 新增
lockScroll,用于背景是否锁定,默认值为false
type属性类型更改为AnimateType,具体值详见文档action属性类型更改为initial \| click
maxLen重命名为lengthendNumber重命名为value,类型修改为string|numberdelaySpeed重命名为delayeaseSpeed重命名为duration
url重命名为srcautoplay重命名为autoPlayonFastBack重命名为onBackonPlayEnd重命名为onEnd
url重命名为srconActiveAvatar重命名为onClick- 新增
fit属性,用于图片填充模式 - 移除
iconSize,可通过 icon 属性传入自定义 icon 或借助 CSS Variables 修改 icon 大小
- AvatarGroup
maxCount重命名为max - AvatarGroup
span重命名为gap - AvatarGroup
zIndex重命名为level
- 移除
zIndex,目前没有用到,也不生效,直接去掉。 - 移除
icon,自定义icon可放在value中实现,扩充了value的类型。 - 修改
max的最大值为99(之前为10000),比较贴合实际场景。 - 主题定制的
css变量中,去掉和dot有关的其他值,只保留width。其他值由width计算而来. - 主题定制,增加包含 icon 情况下的样式变量。
progress重命名为percentcircleColor重命名为colorpathColor重命名为background
- 新增
defaultActiveName非受控 activeName改为受控方式icon重命名为expandIcon,类型修改为ReactNodeonChange参数变更为activeName, name, status- 新增一种样式,尝试修改
--nutui-collapse-item-border-bottom和-nutui-collapse-item-header-border-bottom,可查看
- 使用方式调整为
Collapse.Item - subTitle 重命名为 extra,类型修改为
ReactNode - 新增
expnandIcon,优先级高于父组件对应值 - 新增
rotate,优先级高于父组件对应值
- 新增
remainingTime,支持剩余毫秒时间倒计时。
- 新增
className和style属性的支持 - 优化 H5 的代码,去掉
useEffect渲染改用useLayoutEffect
- 新增
status属性,用于默认图片错误类型 - 新增
size属性,用于区分全屏与半屏状态下图片的不同大小 - 新增
title属性,用于展示提示的标题部分 - 新增
actions属性,用于展示提示的操作部分,支持1个或2个操作 image属性类型更改为ReactNode- 新增
title、size、actions属性,支持标题的设置、图片大小的设置、可能的操作设置,操作设置默认以Button实现。
show重命名为visibleautoplay重命名为autoPlayinitNo重命名为defaultValue,同时增加value,为受控paginationVisible重命名为indicatorpaginationColor重命名为indicatorColorcontentClose重命名为closeOnContentClick- 在
Taro下支持视频
direction的可选值从across重命名为horizontaltext重命名为contentcloseMode重命名为closeableleftIcon类型扩充,支持ReactNoderightIcon类型扩充,支持ReactNodecolor移除,使用 CSS 变量,之前已支持background移除,使用 CSS 变量,之前已支持wrapable重命名为wrapstandTime重命名为durationonClickItem重命名为onItemClickcomplexAm废弃
- 移除
theme属性,可以通过css变量--nutui-brand-color控制暗黑模式 - 新增
showArrow属性,用于是否显示小箭头 - 新增
closeOnActionClick属性,用于是否在点击选项后关闭 - 新增
closeOnOutsideClick属性,用于是否在点击外部元素后关闭菜单 - 新增
targetId属性,用于自定义目标元素 id - 新增
onOpen属性,用于点击菜单时触发 - 新增
onClose属性,用于关闭菜单时触发 - 新增
action属性,用于为对应的选项添加方法 onChoose重命名为onSelect- 继承Popup组件的
overlayStyle、overlayClassName、overlay、closeOnOverlayClick属性。
decimalDigits重命名为digits- 移除
needSymbol,通过symbol判断是否需要加上 symbol 符号 - 新增
line,是否展示划线价
percentage重命名为percent,受控- 移除
isShowPercentage,可以自定义传入文案 - 移除
textWidth,可以自定义传入内容的宽度 strokeColor重命名为colorfillColor重命名为background- 移除
size,通过strokeWidth、progress-heightcss 变量实现尺寸自定义 status重命名为animated,表示是否展示动画效果- 移除
textBackground,通过 css 实现 - 移除
textColor,通过 css 实现 - 移除
textInside,仅保留内显功能 - 移除
textType、icon,通过children传入自定义ReactNode,不再区分类型 - 新增
lazy属性,支持每次进入可视区时展示进度条动画 - 新增
delay属性,表示延迟数据加载时长
loading重命名为visiblerow重命名为rows- 移除
width,通过 css 变量skeleton-line-width实现 - 移除
height,通过 css 变量skeleton-line-height实现 - 移除
round,通过 css 变量skeleton-line-border-radius实现
current重命名为valueonClickStep重命名为onStepClickprogressDot重命名为dot
- 移除
iconColor,可通过icon属性传入自定义 icon 或借助 CSS Variables 修改 icon 颜色 - 移除
size,可通过 icon 属性传入自定义 icon 或借助 CSS Variables 修改 icon 大小 - 移除
renderContent,可通过description实现 title类型修改为ReactNodecontent重命名为description,类型改为ReactNodeicon类型修改为ReactNodeactiveIndex重命名为value
- h5
- 移除
paginationColor,通过indicator的 CSS 变量控制 - 移除
paginationBgColor,通过indicator的 CSS 变量控制 - 移除
pageContent,通过 indicator 实现 autoplay重命名为autoplayinitPage重命名为defaultValuepaginationVisible重命名为indicator,类型改为ReactNodeisPreventDefault重命名为preventDefaultisStopPropagation重命名为stopPropagationisCenter重命名为center
- 移除
- taro
- 通过封装 Taro 的
Swiper和SwiperItem实现,支持的属性可参考 Taro Swiper 文档。
- 通过封装 Taro 的
onSorter重命名为onSort- 合并
summary与noData的样式处理
color重命名为backgroundtextColor重命名为color
rate重命名为valueshowSign重命名为symbolshowZero重命名为zeroarrowLeft重命名为leftsyncTextColor重命名为synctextColor重命名为colorupIconName重命名为riseIcon,类型修改为React.NodedownIconName重命名为dropIcon,类型修改为React.Node- 移除
iconSize,通过riseIcon、dropIcon自定义传入icon大小
- 在
Taro下新增video的适配
sourceData重命名为listconatinerSize重命名为containerHeightitemSize重命名为itemHeightitemEqualSize重命名为itemEqualhorizontal修改为direction,默认值vertical,可选值horizontal
fontColor重命名为color
- 该组件的
custom改用Cascader组件重写;custom2也将使用Cascader完成,在Cascader中支持Elevator,开发中。所以会废弃province、city、country、town这些属性,同时支持Cascader的属性。 modelValue重命名为visiblemodelSelect重命名为defaultValueonSelected重命名为onSelectexistAddress重命名为existListselectedIcon重命名为selectIconcloseBtnIcon重命名为closeIconbackBtnIcon重命名为backIconisShowCustomAddress重命名为custom,用于已有地址列表与自定义列表的切换,修改默认为值falsecustomAndExistTitle废弃,与custom合并,当custom为 true 时,为默认文案,设置为某字符串时,展示字符串。customAddressTitle、existAddressTitle重命名为title,不再区分状态,可通过onSwitch修改title- 精简布局和样式
barrageList重命名为listfrequency重命名为intervalspeeds重命名为durationtop重命名为gapY
type类型修改为png|jpgunSupportTpl重命名为unsupported,类型修改为ReactNode- 新增
confirm和clearref 的方法,移除组件内部button元素,通过自定义按钮元素,设置元素点击事件结合ref实现,参考文档demo示例
- 移除
height,通过style设置高度 title类型修改为ReactNodeonPannelChange重命名为onDateChange- 移除
dates、times,合并为options,重新设计了数据结构 - 增加
optionKey用于自定义数据中的关键字 - 移除
currentKey,新增defaultValue用于设置默认选项,支持时间选择