el-input入门学习

  • 学习内容:
  1. el-input标签使用
  2. disabled,clearable,show-password,size,maxlength属性的使用
  3. prefix-icon,suffix-icon属性的使用
  4. textarea类型下autosize的使用
  5. el-autocomplete标签实现获取建议功能(难点)
  • 实现效果图
    在这里插入图片描述

  • 代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
    <div id='app'>
        <el-input v-model='inputData' :placeholder='textPlaceholder'></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' disabled></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' clearable></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' show-password></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' prefix-icon='el-icon-search' suffix-icon='el-icon-date'></i></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder'><i slot='prefix' class='el-input__icon el-icon-search'></i><i slot='suffix' class='el-input__icon el-icon-date'></i></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' type='textarea'></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' type='textarea' autosize></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' type='textarea' :autosize={minRows:1,maxRows:4}></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder'>
            <el-select slot='prepend' v-model='selectData'>
                <el-option v-for='item in optionList' :key='item.id' :label='item.value' :value='item.id'></el-option>
            </el-select>
            <el-button slot='append' icon='el-icon-search'></el-button>
        </el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' suffix-icon='el-icon-date' size='small'></el-input>
        <el-autocomplete
            v-model='inputData'
            :placeholder='textPlaceholder'
            :fetch-suggestions='querySearch'
        >
        </el-autocomplete>
        <el-autocomplete
            v-model='inputData'
            :placeholder='textPlaceholder'
            :trigger-on-focus='false'
            :fetch-suggestions='querySearch'
        >
        </el-autocomplete>
        <el-autocomplete
            v-model='inputData'
            :placeholder='textPlaceholder'
            :fetch-suggestions='querySearch'
            suffix-icon='el-icon-edit'
        >
            <template slot-scope='{item}'>
                <div class='name'>{{item.value}}</div>
                <div class='addr'>{{item.address}}</div>
            </template>
        </el-autocomplete>
        <el-autocomplete
            v-model='inputData'
            :placeholder='textPlaceholder'
            :fetch-suggestions='querySearchAsync'

        >    
        </el-autocomplete>
        <el-input v-model='inputData' :placeholder='textPlaceholder' :maxlength='10' :show-word-limit='true'></el-input>
        <el-input v-model='inputData' :placeholder='textPlaceholder' :maxlength='50' :show-word-limit='true' type='textarea'></el-input>
    </div>
</body>
</html>

<script>
    let vm = new Vue({
        el:'#app',
        data:{
            textPlaceholder:'请输入内容',
            inputData:'',
            selectData:2,
            optionList:[
                {id:1,value:'甜啦啦',address:'xxx'},
                {id:2,value:'蜜雪冰城',address:'xxx'},
                {id:3,value:'奈雪的茶',address:'xxx'},
                {id:4,value:'辛巴克',address:'xxx'},
            ],
        },
        methods:{
            //lambda表达式增加了些许难度
            querySearch(searchData,callback){
                let returnData = searchData?this.optionList.filter(option=>option.value.toLowerCase().indexOf(searchData)==0):this.optionList
                callback(returnData)
            },
            //Async方法不停加载??
            querySearchAsync(searchData,callback){
                let resultData = searchData?this.optionList.filter(option=>option.value.toLowerCase().indexOf(searchData)):this.optionList
                //不理解
                clearTimeout(this.timeout)
                this.timeout= setTimeout(()=>{
                    callback(resultData)
                },3000*Math.random())
            }
        }
    })
</script>

<style>
    .el-row{
        margin-bottom: 20px;
    }
    .el-select .el-input {
        width: 130px;
    }
    .name {
      text-overflow: ellipsis;
      overflow: hidden;
    }
    .addr {
      font-size: 12px;
      color: #b4b4b4;
    }
</style>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-input-number是一个基于element-ui的数字输入框组件,用于接收用户输入的数字。它可以实现一些功能,如限制输入范围、设置步长、精度等。通过安装vue-limit-input-group或者npm,可以将limit-input-number直接替换el-input-number进行使用。 学习内容包括el-input-number的基本使用方法,禁用按钮的设置,步长的设置,严格的步长设置,精度的设置,按钮的大小和位置的调整等。 参数说明中包括了el-input-number的使用方法,禁用按钮的设置,步长的设置,严格的步长设置,精度的设置,按钮的大小和位置的调整等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-limit-input-group:vue联合输入限制控件el-input-number增强](https://download.csdn.net/download/weixin_42164685/15512269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [el-input-number入门学习](https://blog.csdn.net/qq_40765784/article/details/124798019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [el-input-number 参数及各种情况](https://blog.csdn.net/weixin_44401596/article/details/125432571)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值