zoukankan      html  css  js  c++  java
  • iview中select组件使用总结

    1.使用iview的select组件进行远程搜索

    远程搜索需同时设置 filterableremoteremote-methodloading 四个 props,其中 loading 用于控制是否正在搜索中,remote-method 是远程搜索的方法。

    注意:需要给 Option 设置 key。

    设置初始显示值,需设置 label 属性。

    页面代码:

    <FormItem label="选择用户">
        <Select v-model="userInfo.userId" filterable clearable remote :remote-method="remoteMethod2" :loading="loading2" style=" 200px">
            <Option v-for="item in userList" :value="item.userId" :key="item.userId">{{item.userName}}</Option>
        </Select>      
    </FormItem>

    参数值:

    export default {
      data () {
        return {
          userInfo: {
            userId: ''
          },
          userList: [],
          loading2: false
        }
      }
    }

    远程搜索的方法:

    remoteMethod2 (query) {
          let self = this
          if (query) {
            self.loading2 = true
            let params = {
              name: query
            }
            this.$api.getUserList(params).then(function (res) {
              if (res.meta.success) {
                this.userList= res.data
              } else {
                this.$Message.error(res.meta.message)
              }
            })
            this.loading2 = false
          }                                       

    2.两个联动select清空内容

    我想要的效果是,当第一个select调用接口时清空第二个select,重新赋值第二个select,使用设置 null 是不能够实现的。

    <FormItem label="选择部门">
        <Select v-model="department.departmentId" @on-change="selectUserBydepartmentId" style=" 270px">
            <Option v-for="item in departmentList" :value="item.departmentId" :key="item.departmentId">{{item.departmentName}}</Option>
        </Select>
    </FormItem>
    <FormItem label="选择用户">
        <Select v-bind:disabled="isAble" v-model="userInfo.userId" clearable filterable @on-query-change="checkUserInfo" style=" 270px" ref="store">
            <Option v-for="item in userList" :value="item.userId" :key="item.userId">{{item.userName}}</Option>
        </Select>
    </FormItem>

    (1)为搜索框赋值的方法

    checkSupplierInfo (query) {
        this.userInfo.searchText = query
    },

    (2)选择部门调用的接口时清空用户select值

    clearSingleSelect:清空单选项,仅在 clearable="true" 时有效

    实现方式是为要清空的select设置ref="store",通过this.$refs.store.clearSingleSelect()实现清空操作

    selectSupplierByOrgId (val) {
          // 清空select绑定值
          this.$refs.store.clearSingleSelect()
          // 根据部门id查询用户
          let das = {
            departmentId: val
          }
          this.$api.queryUserListByDepartmentId(das).then(res => {
            if (res.meta.success) {
              this.userList= res.data.userList
              if (this.userList.length > 0) {
                this.isAble = false   // v-bind:disabled="isAble"设置select禁用启用
              } else {
                this.isAble = true
              }
            } else {
              this.$Message.error(res.meta.message)
            }
          }).catch(err => {
            this.$Modal.error({
              title: '用户获取失败',
              content: err
            })
          })
        },                                                          
  • 相关阅读:
    计算素数。
    两个div在一行中显示
    html文本太长显示为省略号的方法
    .net remoting实例
    C#核心基础--静态类&部分类
    C#核心基础--类的继承
    c#核心基础--类的构造方法
    C#核心基础--类的声明
    C#核心基础--浅谈类和对象的概念
    c#学习之旅------01
  • 原文地址:https://www.cnblogs.com/cuixiaozhen/p/9947127.html
Copyright © 2011-2022 走看看