选择框的使用

选择框的基本使用

checkbox多选框

1. 基本使用

   <a-checkbox-group @change="checkChange">

      <a-checkbox v-for="(item, index) in list" :key="index" :value="item">

        {{ item }}

      </a-checkbox>

    </a-checkbox-group>
  methods: {

    checkChange(val) {

      console.log(val)

    }

  }

每次框里的勾选发生变化,都可以通过a-check-group上的change事件拿到最新被选择的值,拿到的是一个数组,存放的是与a-checkbox绑定的value

2.支持全选的checkbox

    <div class="checkALL">

      <a-checkbox :checked="checkAll" @change="onAllChange">全选</a-checkbox

      ><br />

      <a-checkbox-group

        v-model="checkedList"

        :options="list"

        @change="onChange"

      ></a-checkbox-group>

    </div>
  list: ['北京', '上海', '广州', '深圳'],
      checkedList: [],
      checkAll: false
   onChange(checkedArr) {

      this.checkAll = checkedArr.length === this.list.length

    },

    onAllChange(e) {

      Object.assign(this, {

        checkedList: e.target.checked ? this.list : [],

        checkAll: e.target.checked

      })

​ }

select下拉选择器

1.基本使用

      <a-select @change="changeSelected" style="width:200px">
        <a-select-option
          v-for="(item, index) in list"
          :key="index"
          :value="item"
        >
          {{ item }}
        </a-select-option>
      </a-select>
   changeSelected(val) {
      console.log(val)
    }

拿到的是最新选择项所绑定的value

2.带模糊搜索功能的下拉选择框

  <a-select
    show-search
    :value="value"
    placeholder="请输入搜索内容"
    style="width: 200px"
    :default-active-first-option="false"
    :show-arrow="false"
    :filter-option="false"
    :not-found-content="null"
    @search="handleSearch"
    @change="handleChange"    
       <a-select-option v-for="d in data" :key="d.value">
          {{ d.text }}
       </a-select-option>
  </a-select>

在search事件中发送请求; 在change事件中选中了选项

cascader级联选择器

<a-cascader :options="options" placeholder="Please select" @change="onChange" />

数据格式:

options: [
        {
          value: 'zhejiang',
          label: 'Zhejiang',
          children: [
            {
              value: 'hangzhou',
              label: 'Hangzhou',
              children: [
                {
                  value: 'xihu',
                  label: 'West Lake',
                },
              ],
            },
          ],
        },
        {
          value: 'jiangsu',
          label: 'Jiangsu',
          children: [
            {
              value: 'nanjing',
              label: 'Nanjing',
              children: [
                {
                  value: 'zhonghuamen',
                  label: 'Zhong Hua Men',
                },
              ],
            },
          ],
        },
      ],

change事件拿到值

  onChange(value) {
      console.log(value);
    },

tree树形控件

  <a-tree
    v-model="checkedKeys"
    checkable
    :expanded-keys="expandedKeys"
    :auto-expand-parent="autoExpandParent"
    :selected-keys="selectedKeys"
    :tree-data="treeData"
    @expand="onExpand"
    @select="onSelect"
  />

数据格式:

const treeData = [
  {
    title: '0-0',
    key: '0-0',
    children: [
      {
        title: '0-0-0',
        key: '0-0-0',
        children: [
          { title: '0-0-0-0', key: '0-0-0-0' },
          { title: '0-0-0-1', key: '0-0-0-1' },
          { title: '0-0-0-2', key: '0-0-0-2' },
        ],
      },
    ],
  }
];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值