Vue3中动态绑定:disabled element-plus使用方法

@change="whetherFlag($event)"  根据value值判断是否禁用 :disabled="isShow"

 <el-dialog v-model="dialogVisble" title="报警处理" width="30%">
      <el-form :model="parentValue" label-width="120px">
        <el-form-item label="是否误报" prop="status">
          <el-select v-model="parentValue.status" placeholder="请选择报警状态" @change="whetherFlag($event)">
            <el-option label="是" value="1" />
            <el-option label="否" value="2" />
          </el-select>
        </el-form-item>
        <el-form-item label="车牌号">
          <el-input v-model="parentValue.carNumber" />
        </el-form-item>
        <el-form-item label="司机姓名">
          <el-input v-model="parentValue.name" />
        </el-form-item>
        <el-form-item label="应拉煤种" prop="strainCoal">
          <el-select v-model="parentValue.strainCoal" :disabled="isShow" placeholder="请选择应拉煤种"><el-option v-for="item in strainList"
              :key="item.value" :label="item.label" :value="item.value" />
          </el-select>
        </el-form-item>
        <el-form-item label="所拉煤种" prop="pulledCoal">
          <el-select v-model="parentValue.pulledCoal" :disabled="isShow" placeholder="请选择所拉煤种"><el-option v-for="item in pulledList"
              :key="item.value" :label="item.label" :value="item.value" />
          </el-select>
        </el-form-item>
        <el-form-item label="报警原因" prop="cause">
          <el-select v-model="parentValue.cause" :disabled="isShow" placeholder="报警原因"><el-option v-for="item in policeList"
              :key="item.value" :label="item.label" :value="item.value" />
          </el-select>
        </el-form-item>

        <el-form-item>
          <span class="dialog-footer">
            <el-button @click="close">取 消</el-button>
            <el-button type="primary" @click="confirm"> 确 定 </el-button>
          </span>
        </el-form-item>
      </el-form>
    </el-dialog>

初始值为禁用状态

const isShow = ref<boolean>(true);

const isShow = ref<boolean>(true);

 根据value的值判断是否禁用

// 状态判断
const whetherFlag = (value: string) => {
  if( value === "1" ) {
    isShow.value = false;
    console.log( isShow.value," isShow.value"); 
  }else {
    isShow.value = true;
  }
}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在一个组件使用element-plus的InfiniteScroll无限滚动,需要先在组件引入InfiniteScroll,并且在需要无限滚动的元素上v-infinite-scroll指令和相应的事件处理函数。以下是一个示例代码: ```vue <template> <div class="scroll-container" v-infinite-scroll="loadMore" infinite-scroll-disabled="loading"> <ul> <li v-for="(item, index) in list" :key="index">{{ item }}</li> </ul> <div v-if="loading">Loading...</div> </div> </template> <script> import { ref } from 'vue'; import { useInfiniteScroll } from 'element-plus'; export default { setup() { const list = ref(['Item 1', 'Item 2', 'Item 3']); const loading = ref(false); const { load } = useInfiniteScroll(); const loadMore = async () => { if (loading.value) return; loading.value = true; await load(); list.value.push(`Item ${list.value.length + 1}`); loading.value = false; }; return { list, loading, loadMore, }; }, }; </script> ``` 在这个示例,我们首先在组件引入了`useInfiniteScroll`函数,然后在模板,将需要无限滚动的元素了`v-infinite-scroll`指令,并且设置了`infinite-scroll-disabled`属性,用于指示当前是否正在加载数据。在`setup`函数,我们义了`list`和`loading`两个响应式变量,以及`loadMore`函数,用于处理滚动事件。在`loadMore`函数,我们首先根据`loading`变量的值决是否需要加载数据,然后设置`loading`变量为`true`,调用`load`函数加载数据,将新的数据添加到`list`数组,并将`loading`变量重置为`false`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值