当前位置:Gxlcms > JavaScript > vue 不使用select实现下拉框功能(推荐)

vue 不使用select实现下拉框功能(推荐)

时间:2021-07-01 10:21:17 帮助过:6人阅读

html部分:v-for循环出的结构

  1. <div >
  2. <p @click="clickSize (item, index)">{{item.name}}</p>
  3. <transition name="opacityLeave">
  4. <div class="condition-list" v-show="isShowSize && index == i">
  5. <div class="size-wrap" v-if="item.RingSize">
  6. <p class="size" :class="{'active':item1.active}" :key="index1" v-for="(item1, index1) in item.RingSize" @click="getSize (item, item1) ">{{item1.AttrValueName}}</p>
  7. </div>
  8. </div>
  9. </transition>
  10. </div>

js部分:

  1. data() {
  2. return {
  3. isShowSize: false,
  4. i: -1
  5. };
  6. },
  7. //实现点击哪个下拉框显示
  8. clickSize (item, index) {
  9. this.i = index;
  10. this.isShowSize = !this.isShowSize;
  11. },
  12. //实现选取下拉值
  13. getSize (item, item1) {
  14. this.item.name = item1.AttrValueName;
  15. this.isShowSize = !this.isShowSize;
  16. },

下面看下vue--select组件的使用与禁用

业务:消息推送方式有两种,为“微信”和“邮件”,微信发送时需要选择“要发送的应用程序”,邮件发送时不需要

微信发送时,页面如下:

页面

邮件发送时,选择器不可用,页面如下:

邮件页面

虽然官网上没有给出具体的例子,但可从属性中查到 “disabled”属性,

属性 说明 类型 默认值
disabled 是否禁用 Boolean false

实现:

  添加disabled属性,写成如下红色标记格式;定义一个isAble变量,用来存放TRUE和FALSE值,决定此选择框是否可用。

  1. <Select <span style="color: rgb(255, 0, 0);">v-bind:disabled="isAble" </span>clearable v-model="dataAgentEntity.ID" style="width:240px">
  2. <Option v-for="item in dataAgent" :value="item.ID" :key="item.ID">{{ item.name }}</Option>
  3. </Select>
  4. export default {
  5. data(){
  6. return{
  7. isAble: false,//select下拉框是否可用
  8. }
  9. }

然后就是逻辑中操作变量isAble的值,改变组件的可用禁用状态了

  1. methods:{
  2. Test(){
  3. var vm = this;
  4. if (vm.alertType == '邮件') {
  5. vm.isAble = true; //不可用
  6. }
  7. }
  8. }

test方法中只写了判断不可用,改回微信时,还要变成可用状态,不然又埋了个bug,哈哈。不过这是业务逻辑了,只介绍方法,记个笔记,具体视情况而定。

以上所述是小编给大家介绍的vue 不使用select实现下拉框功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

人气教程排行