国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Vant2 Cascader 級聯(lián)選擇

2025-08-27 11:40 更新

介紹

級聯(lián)選擇框,用于多層級數(shù)據(jù)的選擇,典型場景為省市區(qū)選擇,2.12 版本開始支持此組件。

引入

import Vue from 'vue';
import { Cascader } from 'vant';

Vue.use(Cascader);

代碼演示

基礎(chǔ)用法

級聯(lián)選擇組件可以搭配 Field 和 Popup 組件使用,示例如下:

<van-field
  v-model="fieldValue"
  is-link
  readonly
  label="地區(qū)"
  placeholder="請選擇所在地區(qū)"
  @click="show = true"
/>
<van-popup v-model="show" round position="bottom">
  <van-cascader
    v-model="cascaderValue"
    title="請選擇所在地區(qū)"
    :options="options"
    @close="show = false"
    @finish="onFinish"
  />
</van-popup>
export default {
  data() {
    return {
      show: false,
      fieldValue: '',
      cascaderValue: '',
      // 選項列表,children 代表子選項,支持多級嵌套
      options: [
        {
          text: '浙江省',
          value: '330000',
          children: [{ text: '杭州市', value: '330100' }],
        },
        {
          text: '江蘇省',
          value: '320000',
          children: [{ text: '南京市', value: '320100' }],
        },
      ],
    };
  },
  methods: {
    // 全部選項選擇完畢后,會觸發(fā) finish 事件
    onFinish({ selectedOptions }) {
      this.show = false;
      this.fieldValue = selectedOptions.map((option) => option.text).join('/');
    },
  },
};

自定義顏色

通過 active-color 屬性來設(shè)置選中狀態(tài)的高亮顏色。

<van-cascader
  v-model="cascaderValue"
  title="請選擇所在地區(qū)"
  :options="options"
  active-color="#1989fa"
  @close="show = false"
  @finish="onFinish"
/>

異步加載選項

可以監(jiān)聽 change 事件并動態(tài)設(shè)置 options,實現(xiàn)異步加載選項。

<van-field
  v-model="fieldValue"
  is-link
  readonly
  label="地區(qū)"
  placeholder="請選擇所在地區(qū)"
  @click="show = true"
/>
<van-popup v-model="show" round position="bottom">
  <van-cascader
    v-model="cascaderValue"
    title="請選擇所在地區(qū)"
    :options="options"
    @close="show = false"
    @change="onChange"
    @finish="onFinish"
  />
</van-popup>
export default {
  data() {
    return {
      show: false,
      fieldValue: '',
      cascaderValue: '',
      options: [
        {
          text: '浙江省',
          value: '330000',
          children: [],
        },
      ],
    };
  },
  methods: {
    onChange({ value }) {
      if (value === this.options[0].value) {
        setTimeout(() => {
          this.options[0].children = [
            { text: '杭州市', value: '330100' },
            { text: '寧波市', value: '330200' },
          ];
        }, 500);
      }
    },
    onFinish({ selectedOptions }) {
      this.show = false;
      this.fieldValue = selectedOptions.map((option) => option.text).join('/');
    },
  },
};

自定義字段名

通過 field-names 屬性可以自定義 options 里的字段名稱。

<van-cascader
  v-model="cascaderValue"
  title="請選擇所在地區(qū)"
  :options="options"
  :field-names="fieldNames"
/>
export default {
  data() {
    return {
      cascaderValue: '',
      fieldNames: {
        text: 'name',
        value: 'code',
        children: 'items',
      },
      options: [
        {
          name: '浙江省',
          code: '330000',
          items: [{ name: '杭州市', code: '330100' }],
        },
        {
          name: '江蘇省',
          code: '320000',
          items: [{ name: '南京市', code: '320100' }],
        },
      ],
    };
  },
};

API

Props

參數(shù) 說明 類型 默認(rèn)值
title 頂部標(biāo)題 string -
value 選中項的值 string | number -
options 可選項數(shù)據(jù)源 Option[] []
placeholder 未選中時的提示文案 string 請選擇
active-color 選中狀態(tài)的高亮顏色 string #ee0a24
closeable 是否顯示關(guān)閉圖標(biāo) boolean true
show-header v2.12.40 是否展示標(biāo)題欄 boolean true
field-names v2.12.4 自定義 options 結(jié)構(gòu)中的字段 object { text: 'text', value: 'value', children: 'children' }

Events

事件 說明 回調(diào)參數(shù)
change 選中項變化時觸發(fā) { value, selectedOptions, tabIndex }
finish 全部選項選擇完成后觸發(fā) { value, selectedOptions, tabIndex }
close 點擊關(guān)閉圖標(biāo)時觸發(fā) -

Slots

名稱 說明 參數(shù)
title 自定義頂部標(biāo)題 -
option v2.12.25 自定義選項文字 { option: Option, selected: boolean }

樣式變量

組件提供了下列 Less 變量,可用于自定義樣式,使用方法請參考主題定制。

名稱 默認(rèn)值 描述
@cascader-header-height 48px -
@cascader-title-font-size @font-size-lg -
@cascader-title-line-height 20px -
@cascader-close-icon-size 22px -
@cascader-close-icon-color @gray-5 -
@cascader-close-icon-active-color @gray-6 -
@cascader-selected-icon-size 18px -
@cascader-tabs-height 48px -
@cascader-active-color @red -
@cascader-options-height 384px -
@cascader-tab-color @text-color -
@cascader-unselected-tab-color @gray-6 -


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號