Skip to content

引入组件

局部引入

ts
// parent.vue
const FCascadeSelection = defineAsyncComponent(
  () => import('@/components/formaui/f-cascade-selection/f-cascade-selection.vue')
)

基础用法

items属性:级联数据

html
<f-cascade-selection :items="items" @change="onChange" @complete="onComplete" />
ts
import { ref } from 'vue'

const items = ref([
  {
    text: '浙江',
    value: '330000',
    children: [
      {
        text: '杭州',
        value: '330100',
        children: [
          { text: '西湖区', value: '330106' },
          { text: '余杭区', value: '330110' }
        ]
      }
    ]
  }
])

const onChange = (detail: { layer: number; text?: string }) => {
  console.log(detail.layer, detail.text)
}

const onComplete = (detail: { text: string; value: string | number }) => {
  console.log(detail.text, detail.value)
}

defaultItems属性:默认选中

传入文本数组时按 defaultKey 匹配;也可传入完整选中层级对象。

html
<f-cascade-selection :items="items" :default-items="['浙江', '杭州', '西湖区']" />

isRequest属性:异步加载子级(默认false

第一级使用 items,后续级别通过 receiveData 传入请求结果。

html
<f-cascade-selection :items="items" is-request :receive-data="receiveData" @change="onRequestChange" />
ts
const receiveData = ref([])

const onRequestChange = (detail: { layer: number; value?: string | number }) => {
  // 根据 layer / value 请求并赋值 receiveData
}

resetKey属性:改变时重置组件

html
<f-cascade-selection :items="items" :reset-key="resetKey" />

插槽

名称说明
--

属性

名称类型说明默认值
itemsFCascadeSelectionItem[]级联数据[]
defaultItemsFCascadeSelectionSelectedItem[] | (string | number)[]默认选中[]
defaultKeystring默认选中匹配字段text
showHeaderLineboolean显示 header 底部分割线true
headerBgColorstringheader 背景色#FFFFFF
tabHeightstring顶部标签栏高度88rpx
placeholderTextstring未选择占位文字请选择
fontSizestring标签文字大小28rpx
textColorstring标签文字颜色#555555
activeColorstring选中标签颜色主题色
isTabBoldboolean选中标签加粗true
showTabLineboolean显示选中标签底线true
tabLineColorstring标签底线颜色主题色
checkIconSizenumber勾选图标大小(rpx)28
checkColorstring勾选图标颜色主题色
imageWidthstring列表项图片宽度40rpx
imageHeightstring列表项图片高度40rpx
imageRadiusstring图片圆角50%
itemTextColorstring列表项文字颜色#0B1D4A
itemActiveTextColorstring列表项选中文字颜色#0B1D4A
isItemTextBoldboolean列表项选中加粗true
itemFontSizestring列表项文字大小28rpx
isNowrapboolean列表项文字不换行false
subTextColorstring副标题颜色#999999
subTextFontSizestring副标题大小24rpx
paddingstring列表项内边距20rpx 30rpx
firstItemTopstring首项顶部占位20rpx
heightstring内容区高度300px
bgColorstring内容背景色#FFFFFF
isRequestboolean子级异步请求false
receiveDataFCascadeSelectionItem[]异步返回子级数据[]
resetKeynumber | string改变时重置0

FCascadeSelectionItem

名称类型说明
textstring选项文本
subTextstring副标题
valuestring | number选项值
srcstring图片地址
childrenFCascadeSelectionItem[]子级数据

事件

事件名说明回调参数
change选中某一级{ layer, subIndex, text, value, ... }
complete完成全部选择{ result, value, text, subText, src }

方法

方法名说明传入参数
---