You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-native-paper v5中SegmentedButtons的IconSource属性含义咨询

React Native Paper v5 SegmentedButtons 的 IconSource 属性说明

在 React Native Paper v5 中,SegmentedButtons 的 icon 属性对应的 IconSource 并非直接传入你写的 <MaterialIcon name="home" color="black" size={25}/> 这种组件实例,它支持以下几种取值类型:

  • 字符串:直接传入 Material Icons 的图标名称(比如 "home"),组件会自动使用内置的 MaterialIcon 组件渲染,颜色、尺寸会继承 SegmentedButtons 的全局样式配置,无需手动指定。
  • React 组件/组件函数:可以传入自定义图标组件,或者返回组件的函数。比如你写的那种 MaterialIcon 实例,就可以通过函数返回的方式传入,这样能手动控制图标颜色、尺寸等属性。
  • 图片源:还可以传入本地图片的路径或网络图片 URL,用于渲染自定义图标图片。

举几个实用示例:

// 最常用:传入图标名称字符串
<SegmentedButtons
  buttons={[
    { value: 'home', icon: 'home' },
    { value: 'settings', icon: 'settings' }
  ]}
/>

// 传入自定义组件(通过函数返回)
<SegmentedButtons
  buttons={[
    { 
      value: 'custom', 
      icon: () => <MaterialIcon name="home" color="black" size={25}/> 
    }
  ]}
/>

// 传入本地图片
<SegmentedButtons
  buttons={[
    { value: 'local', icon: require('../assets/custom-icon.png') }
  ]}
/>

简单总结:你写的组件实例不能直接传,但可以用函数返回的方式传入;日常开发更推荐直接传图标名称字符串,让组件自动适配样式。

内容的提问来源于stack exchange,提问作者chris aimsworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:42:11