zoukankan      html  css  js  c++  java
  • vant下拉单选

    参考@官网文档

    代码:

    <template>
      <div>
        <van-field readonly="" is-link @click="show = true" v-model="inputval" name="测试单选" label="测试单选" />
        <van-action-sheet v-model="show" :actions="actions" @select="onSelect" />
      </div>
    </template>
    <script>
      export default {
        data() {
          return {
            inputval: '',
            show: false,
            actions: [{
              name: '选项一'
            }, {
              name: '选项二'
            }, {
              name: '选项三'
            }],
          };
        },
        methods: {
          onSelect(item) {
            // 默认情况下点击选项时不会自动收起
            // 可以通过 close-on-click-action 属性开启自动收起
            this.show = false;
            this.inputval = item.name
          },
        },
      };
    </script>
    <style>
    </style>
    View Code

    效果:

    用了以上方法,感觉弊端明显,actions只能是单属性数组,onSelect获取的item也不会是对象,看到了Cascader 级联选择,可以不级联使用

    代码:

    <template>
      <div>
        <van-field v-model="fieldValue" is-link readonly label="地区" placeholder="请选择所在地区" @click="show = true" />
        <van-popup v-model="show" round position="bottom">
          <van-cascader v-model="cascaderValue" title="请选择所在地区" :options="options" @close="show = false" @finish="onFinish" />
        </van-popup>
      </div>
    </template>
    
    <script>
      import {
        Toast
      } from 'vant'
    
      export default {
        data() {
          return {
            show: false,
            fieldValue: '',
            cascaderValue: '',
            // 选项列表,children 代表子选项,支持多级嵌套
            options: [{
                text: '浙江省',
                value: '330000',
               // children: [{ text: '杭州市', value: '330100' }],
              },
              {
                text: '江苏省',
                value: '320000',
                //children: [{ text: '杭州市', value: '330100' }],
              },
            ],
          };
        },
        methods: {
          onFinish({selectedOptions}) {
            this.show = false;
            this.fieldValue = selectedOptions.map((option) => option.text).join('/');
          },
        },
      };
    </script>
    
    <style>
    </style>
    View Code

    效果和上图类似,就不截图了

  • 相关阅读:
    解决chrome console打印的信息一闪而过
    Docker 构建自定义镜像
    Docker 镜像、容器、仓库
    Docker 简介、下载安装
    执行yum list installed | grep xxx 命令时报错:未提供依赖perl-DBD-SQLite、perl-DBI
    SpringBoot 配置多种运行环境
    SpringCloud Config 分布式配置管理
    SpringCloud Sleuth+Zipkin 分布式链路追踪
    Dubbo 配置中心、元数据中心
    dubbo admin的使用
  • 原文地址:https://www.cnblogs.com/yanan7890/p/14455248.html
Copyright © 2011-2022 走看看