本文档将帮助您从 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 存在一些不兼容更新,需要仔细阅读不兼容更新内容,并依次处理。
- 组件样式处理
新增了按需引入 css 文件的支持。可通过 babel-import-plugin 插件实现:
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",
]
]
- 更完善的类型导出以及对类型增加
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
统一为onXxxClick
modelValue
统一为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
元素
subTitle
重命名为description
,类型修改为React.Node
desc
重命名为extra
,类型修改为React.Node
roundRadius
重命名为radius
center
重命名为align
,默认值修改为flex-start
,可选值为flex-start
、center
、flex-end
- 移除
icon
、isLink
、url
、linkSlot
、replace
、descTextAlign
,通过用户自定义节点实现,参考文档demo示例
- 新增
divider
,单元格之间是否有分割线 desc
重命名为description
title
、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|ReactNode
showLoading
重命名为loading
,类型修改为boolean|ReactNode
overlayClass
重命名为className
overlayStyle
重命名为style
closeOnClickOverlay
重命名为closeOnOverlayClick
- 更改
lockScroll
默认值为true
- 新增
afterClose
和afterShow
,用于完全关闭后触发的回调和完全展示后触发的回调
popClass
重命名为className
,统一将组件的样式类名使用className
,不再指定特殊名字,减轻用户使用的记忆成本overlayClass
重命名为OverlayClassName
,继承自Overlay
closeOnClickOverlay
重命名为closeOnOverlayClick
onOpened
和onClosed
重命名为afterShow
和afterClose
,继承自Overlay
,用于完全关闭后触发的回调和完全展示后触发的回调destroyOnClose
的描述进行了修订,改为:“组件不可见时,卸载内容”,并把其默认值改为了false
onClickCloseIcon
和onClickOverlay
两个方法,增加布尔判断,如返回false 或 未定义返回值时,将不再关闭 Popup;默认值为true
;在demo中已增加相应示例;同时,两者的名字变更为onCloseIconClick
、onOverlayClick
- 移除
dashed
, 通过style
属性实现 - 移除
hairline
, 默认为true
- 移除
fontSize
,可自行控制传入的组件字体大小 - 移除
border
,作为默认样式 columnNum
重命名为columns
GridItem
使用方式修改为Grid.Item
- 移除
top
和bottom
, 重命名为threshold
acceptKey
重命名为floorKey
indexList
重命名为list
isSticky
重命名为sticky
onClickIndex
重命名为onIndexClick
onClickItem
重命名为onItemClick
- 新增
showKeys
,是否展示右侧导航
unActiveText
重命名为inactiveText
navList
重命名为list
slotBtn
重命名为content
onSelected
重命名为onSelect
- 移除
fixednavClass
,通过className
实现 - 移除
slotList
,通过children
实现
- 移除
block
,暴露自定义节点 - 移除
align
,暴露自定义节点 vertical
重命名为direction
,默认值为horizontal
,可选vertical
- 移除
fillZero
,暴露自定义节点 size
重命名为total
- 增加非数字展示,并设置为默认状态
- 移除
fontClassName
- 移除
iconClassPrefix
closeOnClickOverlay
重命名为closeOnOverlayClick
titleIcon
重命名为icon
optionsIcon
重命名为icon
- 增加
closeOnClickAway
desc
重命名为right
,类型修改为React.Node
- 新增
left
,左侧内容,渲染在返回区域的右侧 - 新增
back
,返回区域内容 onClickBack
重命名为onBackClick
- 移除
title
,通过children
实现 - 移除
leftText
leftShow
,通过back
、left
实现 safeAreaInsetTop
重命名为safeArea
border
废弃- 移除
onClickTitle
onClickRight
onClickIcon
,通过在left
、title
、right
自定义事件实现,参考文档demo示例
- 新增
defaultValue
非受控值 modelValue
重命名为value
,受控值prevText
重命名为prev
,类型修改为ReactNode
nextText
重命名为next
,类型修改为ReactNode
forceEllipses
重命令为ellipse
showPageSize
重命名为itemSize
itemsPerpage
重命名为pageSize
totalitems
重命名为total
pageNodeRender
重命名为itemRender
- 移除
pageCount
,通过total
与pageSize
组合实现
offset
重命名为indent
unactiveColor
重命名为inactiveColor
tabTitle
重命名为title
,类型修改为ReactNode
bottom
重命名为fixed
safeAreaInsetBottom
重命名为safeArea
visible
重命名为defaultValue
,非受控activeVisible
重命名为value
,受控
- 使用方式修改为
Tabbar.Item
icon
类型改为ReactNode
,移除其他icon
关联属性- 移除
href
,通过onSwitch
事件控制链接与路由跳转 - 移除
num
,支持传入所有Badge
Props - 移除
color
,使用父元素的activeColor
,保持同样的active
状态
- 移除
background
,通过className
或style
控制 - 移除
titleScroll
, 默认支持滚动 - 移除
ellipsis
,默认flex:1
- 移除
size
,通过 css 变量--nutui-tabs-titles-item-font-size
实现 animatedTime
重命名为duration
titleGutter
重命名为 css 样式变量实现titleNode
重命名为title
color
重命名为activeColor
type
重命名为activeType
leftAlign
重命名为align
onClick
类型改为(index: string | number) => void
onChange
类型改为(index: string | number) => void
- 增加 defaultValue
paneKey
重命名为value
poppable
重命名为popup
isAutoBackFill
重命名为autoBackfill
toDateAnimation
重命名为scrollAnimation
startText
类型改为ReactNode
endText
类型改为ReactNode
confirmText
类型改为ReactNode
onBtn
重命名为renderHeaderButtons
onDay
重命名为renderDay
onTopInfo
重命名为renderDayTop
onBottomInfo
重命名为renderDayBottom
onSelected
重命名为onDayClick
onChoose
重命名为onConfirm
onYearMonthChange
重命名为onPageChange
- 新增
firstDayOfWeek
,支持按照周进行选择,指定周起止日,如0-6
- 新增
defaultValue
,其中defaultValue
用于非受控,原value
用于受控。两者的类型都改为(number | string | undefined)[]
checkedIcon
重命名为activeIcon
poppable
重命名为popup
lazyLoad
重命名为onLoad
,当启动懒加载lazy
时,动态加载数据convertConfig
重命名为format
,配置转换规则- 合并
textKey
valueKey
childrenKey
三个属性为对象属性optionKey
- 移除
tabsColor
, 该属性为设置Tabs
当前选中的tab
的下划线色值,但该值最好与文字部分搭配使用,统一处理 CSS 变量。
- 新增
defaultChecked
,用于非受控,checked
用于受控 - 新增
value
,用于 group 模式 textPosition
重命名为labelPosition
iconName
重命名为icon
,类型为ReactNode
iconAcitveName
重命名为activeIcon
iconIndeterminateName
重命名为iconIndeterminateIcon
- 移除
iconSize
- 新增
defaultValue
,用于非受控,value
用于受控 textPosition
重命名为labelPosition
toggleAll
重命名为toggle
toggleReverse
重命名为reverse
modelValue
重命名为value
,并增加defaultValue
isShowChinese
重命名为showChinese
minDate
重命名为startDate
maxDate
重命名为endDate
onConfirmDatePicker
重命名为onConfirm
onCloseDatePicker
重命名为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
重命名为digits
isAsync
重命名为async
- 移除
inputWidth
, 通过--nutui-inputnumber-input-width
控制输入框的宽度 - 移除
buttonSize
, 通过–nutui-inputnumber-button-width
和–nutui-inputnumber-button-height
控制按钮的宽度和高度 - taro 新增
formatter
属性, 用于指定输入框展示值的格式
randomKeys
重命名为random
customKey
重命名为custom
title
类型变更为ReactNode
- 新增
onConfirm
事件 - 移除
popClass
定义,默认支持透传Popup
属性
isVisible
重命名为visible
listData
重命名为options
defaultValueData
重命名为defaultValue
- 增加受控
value
swipeDuration
重命名为duration
onCloseUpdate
重命名为afterClose
- 方法
onConfirm
、onClose
、afterClose
、onChange
的参数进行了调整,从(selectedValue, selectedOptions)
改为(selectedOptions, selectedValue)
。
- 移除
iconSize
,可通过 Icon 的 css 变量设置 iconName
重命名为icon
,类型修改为ReactNode
- 增加
labelPosition
,用于设置label
的位置 - 增加
checked
和defaultChecked
,用于受控和非受控 onChange
类型修改为(checked: boolean) => void
textPosition
重命名为labelPosition
- 增加
defaultValue
,用于非受控 onChange
类型修改为(value: string| number) => void
maxDesc
重命名为maxDescription
,类型改为ReactNode
minDesc
重命名为minDescription
,类型改为ReactNode
curValueDesc
重命名为currentDescription
,类型改为(value) => ReactNode
- 移除
hiddenRange
,通过max/minDescription
传null
实现 - 移除
hiddenTag
,通过currentDescription
传null
实现 - 移除
activeColor
、inactiveColor
、buttonColor
,通过css
变量实现 onDragStart
重命名为onStart
onDragEnd
重命名为onEnd
modelValue
重命为value
,增加defaultValue
非受控方式
minimizeValue
重命名为min
readonly
重命名为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
实现 - 移除
onCancel
,使用right
来实现事件处理 - 移除
onClickLeftinIcon
,用户可使用left
来实现事件处理 - 移除
onClickLeftoutIcon
,用户可使用left
来实现事件处理 - 移除
onClickRightinIcon
,用户可使用right
来实现事件处理 - 移除
onClickRightoutIcon
,用户可使用right
来实现事件处理
desc
重命名为description
noButton
重命名为hideFooter
onOk
重命名为onConfirm
errorMsg
重命名为error
- 移除
closeOnClickOverlay
,默认支持透传 Popup 属性 title
、description
、tips
、error
类型修改为ReactNode
modelValue
重命名为value
,受控模式- 新增
onFoucs
事件
maxlength
重命名为maxLength
readonly
重命名为readOnly
limitShow
重命名为showCount
autosize
重命名为autoSize
- 移除
textAlign
,可通过style
传入 defaultValue
改为非受控,增加受控值value
maximize
重命名为maxFileSize
maximum
重命名为maxCount
listType
重命名为previewType
isDeletable
重命名为deletable
isPreview
重命名为preview
defaultImg
重命名为previewUrl
defaultFileList
重命名为defaultValue
uploadIconTip
重命名为uploadLabel
,类型变更为ReactNode
onBeforeUpload
重命名为beforeUpload
onBeforeXhrUpload
重命名为beforeXhrUpload
onBeforeDelete
重命名为beforeDelete
onRemove
重命名为onDelete
- 增加
fit
,用于图片填充模式 - 增加
value
,用于受控传值 - 移除
uploadIconSize
,可通过 icon 属性传入自定义 icon 或借助 CSS Variables 修改 icon 大小
title
,类型变更为ReactNode
description
,类型变更为ReactNode
cancelTxt
,重命名为cancelText
,类型变更为ReactNode
menuItems
重命名为options
chooseTagValue
重命名为value
onChoose
重命名为onSelect
- 增加
options
的定义color
重命名为danger
name
,列表项的标题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时,触发事件。
useCapture
重命名为capture
onScrollChange
重命名为onScroll
isOpenRefresh
重命名为pullRefresh
pullTxt
重命名为pullingText
,类型变更为ReactNode
loadTxt
重命名为loadingText
,类型变更为ReactNode
containerId
重命名为target
- 移除
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
重命名为length
endNumber
重命名为value
,类型修改为string|number
delaySpeed
重命名为delay
easeSpeed
重命名为duration
url
重命名为src
autoplay
重命名为autoPlay
onFastBack
重命名为onBack
onPlayEnd
重命名为onEnd
url
重命名为src
onActiveAvatar
重命名为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
计算而来。
progress
重命名为percent
circleColor
重命名为color
pathColor
重命名为background
- 新增
defaultActiveName
非受控 activeName
改为受控方式icon
重命名为expandIcon
,类型修改为ReactNode
onChange
参数变更为activeName, name, status
- 使用方式调整为
Collapse.Item
- subTitle 重命名为 extra,类型修改为
ReactNode
- 新增
expnandIcon
,优先级高于父组件对应值 - 新增
rotate
,优先级高于父组件对应值
- 新增
remainingTime
,支持剩余毫秒时间倒计时。
- 新增
className
和style
属性的支持 - 优化 H5 的代码,去掉
useEffect
渲染改用useLayoutEffect
- 新增
status
属性,用于默认图片错误类型 image
属性类型更改为ReactNode
show
重命名为visible
autoplay
重命名为autoPlay
initNo
重命名为defaultValue
,同时增加value
,为受控paginationVisible
重命名为indicator
paginationColor
重命名为indicatorColor
contentClose
重命名为closeOnContentClick
- 在
Taro
下支持视频
direction
的可选值从across
重命名为horizontal
text
重命名为content
closeMode
重命名为closeable
leftIcon
类型扩充,支持ReactNode
rightIcon
类型扩充,支持ReactNode
color
移除,使用 CSS 变量,之前已支持background
移除,使用 CSS 变量,之前已支持wrapable
重命名为wrap
standTime
重命名为duration
onClickItem
重命名为onItemClick
complexAm
废弃
- 移除
theme
属性,可以通过css变量--nutui-brand-color
控制暗黑模式 - 新增
showArrow
属性,用于是否显示小箭头 - 新增
closeOnActionClick
属性,用于是否在点击选项后关闭 - 新增
closeOnOutsideClick
属性,用于是否在点击外部元素后关闭菜单 - 新增
targetId
属性,用于自定义目标元素 id - 新增
onOpen
属性,用于点击菜单时触发 - 新增
onClose
属性,用于关闭菜单时触发 onChoose
重命名为onSelect
- 继承Popup组件的
overlayStyle
、overlayClassName
、overlay
、closeOnOverlayClick
属性。
decimalDigits
重命名为digits
- 移除
needSymbol
,通过symbol
判断是否需要加上 symbol 符号 - 新增
line
,是否展示划线价
percentage
重命名为percent
,受控- 移除
isShowPercentage
,可以自定义传入文案 - 移除
textWidth
,可以自定义传入内容的宽度 strokeColor
重命名为color
fillColor
重命名为background
- 移除
size
,通过strokeWidth
、progress-height
css 变量实现尺寸自定义 status
重命名为animated
,表示是否展示动画效果- 移除
textBackground
,通过 css 实现 - 移除
textColor
,通过 css 实现 - 移除
textInside
,仅保留内显功能 - 移除
textType、icon
,通过children
传入自定义ReactNode
,不再区分类型 - 新增
lazy
属性,支持每次进入可视区时展示进度条动画 - 新增
delay
属性,表示延迟数据加载时长
loading
重命名为visible
row
重命名为rows
- 移除
width
,通过 css 变量skeleton-line-width
实现 - 移除
height
,通过 css 变量skeleton-line-height
实现 - 移除
round
,通过 css 变量skeleton-line-border-radius
实现
current
重命名为value
onClickStep
重命名为onStepClick
progressDot
重命名为dot
- 移除
iconColor
,可通过icon
属性传入自定义 icon 或借助 CSS Variables 修改 icon 颜色 - 移除
size
,可通过 icon 属性传入自定义 icon 或借助 CSS Variables 修改 icon 大小 - 移除
renderContent
,可通过description
实现 title
类型修改为ReactNode
content
重命名为description
,类型改为ReactNode
icon
类型修改为ReactNode
activeIndex
重命名为value
- h5
- 移除
paginationColor
,通过indicator
的 CSS 变量控制 - 移除
paginationBgColor
,通过indicator
的 CSS 变量控制 - 移除
pageContent
,通过 indicator 实现 autoplay
重命名为autoplay
initPage
重命名为defaultValue
paginationVisible
重命名为indicator
,类型改为ReactNode
isPreventDefault
重命名为preventDefault
isStopPropagation
重命名为stopPropagation
isCenter
重命名为center
- 移除
- taro
- 通过封装 Taro 的
Swiper
和SwiperItem
实现,支持的属性可参考 Taro Swiper 文档。
- 通过封装 Taro 的
onSorter
重命名为onSort
- 合并
summary
与noData
的样式处理
color
重命名为background
textColor
重命名为color
rate
重命名为value
showSign
重命名为symbol
showZero
重命名为zero
arrowLeft
重命名为left
syncTextColor
重命名为sync
textColor
重命名为color
upIconName
重命名为riseIcon
,类型修改为React.Node
downIconName
重命名为dropIcon
,类型修改为React.Node
- 移除
iconSize
,通过riseIcon
、dropIcon
自定义传入icon大小
- 在
Taro
下新增video的适配
sourceData
重命名为list
conatinerSize
重命名为containerHeight
itemSize
重命名为itemHeight
itemEqualSize
重命名为itemEqual
horizontal
修改为direction
,默认值vertical
,可选值horizontal
fontColor
重命名为color
- 该组件的
custom
改用Cascader
组件重写;custom2
也将使用Cascader
完成,在Cascader
中支持Elevator
,开发中。所以会废弃province
、city
、country
、town
这些属性,同时支持Cascader
的属性。 modelValue
重命名为visible
modelSelect
重命名为defaultValue
onSelected
重命名为onSelect
existAddress
重命名为existList
selectedIcon
重命名为selectIcon
closeBtnIcon
重命名为closeIcon
backBtnIcon
重命名为backIcon
isShowCustomAddress
重命名为custom
,用于已有地址列表与自定义列表的切换,修改默认为值false
customAndExistTitle
废弃,与custom
合并,当custom
为 true 时,为默认文案,设置为某字符串时,展示字符串。customAddressTitle
、existAddressTitle
重命名为title
,不再区分状态,可通过onSwitch修改title- 精简布局和样式
barrageList
重命名为list
frequency
重命名为interval
speeds
重命名为duration
top
重命名为gapY
type
类型修改为png|jpg
unSupportTpl
重命名为unsupported
,类型修改为ReactNode
- 新增
confirm
和clear
ref 的方法,移除组件内部button
元素,通过自定义按钮元素,设置元素点击事件结合ref实现,参考文档demo示例
- 移除
height
,通过style
设置高度 title
类型修改为ReactNode
onPannelChange
重命名为onDateChange
- 移除
dates
、times
,合并为options
,重新设计了数据结构 - 增加
optionKey
用于自定义数据中的关键字 - 移除
currentKey
,新增defaultValue
用于设置默认选项,支持时间选择