| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 | <template>    <view class="nvue-page-root">        <view class="page-title">            <view class="page-title__wrapper">                <text class="page-title__text">{{title}}</text>            </view>        </view>        <view class="uni-common-mt">            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">可自动聚焦的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" focus placeholder="自动获得焦点" />                </view>            </view>            <!-- #ifdef APP-PLUS -->            <view v-if="platform==='ios'&&!isNvue" class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">隐藏 iOS 软键盘上的导航条</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" placeholder="触摸其他地方收起键盘" @focus="onFocus" @blur="onBlur" />                </view>            </view>            <!-- #endif -->            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">键盘右下角按钮显示为搜索</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" confirm-type="search" placeholder="键盘右下角按钮显示为搜索" />                </view>            </view>            <!-- #ifndef H5 -->            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">键盘右下角按钮显示为发送</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" confirm-type="send" placeholder="键盘右下角按钮显示为发送" />                </view>            </view>            <!-- #endif -->            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">控制最大输入长度的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" maxlength="10" placeholder="最大输入长度为10" />                </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">实时获取输入值:{{inputValue}}</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" @input="onKeyInput" placeholder="输入同步到view中" />                </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">控制输入的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" @input="replaceInput" v-model="changeValue" placeholder="连续的两个1会变成2" />                </view>            </view>            <!-- #ifndef MP-BAIDU -->            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">控制键盘的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" ref="input1" @input="hideKeyboard" placeholder="输入123自动收起键盘" />                </view>            </view>            <!-- #endif -->            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">数字输入的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" type="number" placeholder="这是一个数字输入框" />                </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">密码输入的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" password type="text" placeholder="这是一个密码输入框" />                </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">带小数点的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" type="digit" placeholder="带小数点的数字键盘" /> </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">身份证输入的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" type="idcard" placeholder="身份证输入键盘" /> </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">控制占位符颜色的 input</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" placeholder-style="color:#F76260" placeholder="占位符字体是红色的" />                </view>            </view>            <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">带清除按钮的输入框</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" placeholder="带清除按钮的输入框" :value="inputClearValue" @input="clearInput" />                    <text class="uni-icon" v-if="showClearIcon" @click="clearIcon"></text>                </view>            </view>             <view class="uni-form-item uni-column">                <view class="title"><text class="uni-form-item__title">可查看密码的输入框</text></view>                <view class="uni-input-wrapper">                    <input class="uni-input" placeholder="请输入密码" :password="showPassword" />                    <text class="uni-icon" :class="[!showPassword ? 'uni-eye-active' : '']" @click="changePassword"></text>                </view>            </view>        </view>    </view></template><script>    export default {        data() {            return {                title: 'input',                focus: false,                inputValue: '',                showClearIcon: false,                inputClearValue: '',                changeValue: '',                showPassword: true,                src: '../../../static/eye-1.png',                platform: '',                isNvue: false,            }        },        methods: {            onKeyInput: function(event) {                this.inputValue = event.detail.value            },            replaceInput: function(event) {                var value = event.detail.value;                if (value === '11') {                    this.changeValue = '2';                }            },            hideKeyboard: function(event) {                if (event.detail.value === '123') {                    uni.hideKeyboard();                }            },            clearInput: function(event) {                this.inputClearValue = event.detail.value;                if (event.detail.value.length > 0) {                    this.showClearIcon = true;                } else {                    this.showClearIcon = false;                }            },            clearIcon: function() {                this.inputClearValue = '';                this.showClearIcon = false;            },            changePassword: function() {                this.showPassword = !this.showPassword;            },            onFocus() {                this.$mp.page.$getAppWebview().setStyle({                    softinputNavBar: 'none'                })            },            onBlur() {                this.$mp.page.$getAppWebview().setStyle({                    softinputNavBar: 'auto'                })            }        },        onLoad() {            this.platform = uni.getSystemInfoSync().platform            // #ifdef APP-PLUS-NVUE            this.isNvue = true            // #endif        }    }</script><style scoped>    .nvue-page-root {        background-color: #F8F8F8;        padding-bottom: 20px;    }    .page-title {        /* #ifndef APP-NVUE */        display: flex;        /* #endif */        flex-direction: row;        justify-content: center;        align-items: center;        padding: 35rpx;    }    .page-title__wrapper {        padding: 0px 20px;        border-bottom-color: #D8D8D8;        border-bottom-width: 1px;    }    .page-title__text {        font-size: 16px;        height: 48px;        line-height: 48px;        color: #BEBEBE;    }    .title {        padding: 5px 13px;    }    .uni-form-item__title {        font-size: 16px;        line-height: 24px;    }    .uni-input-wrapper {        /* #ifndef APP-NVUE */        display: flex;        /* #endif */        padding: 8px 13px;        flex-direction: row;        flex-wrap: nowrap;        background-color: #FFFFFF;    }    .uni-input {        height: 28px;        line-height: 28px;        font-size: 15px;        padding: 0px;        flex: 1;        background-color: #FFFFFF;    }    .uni-icon {        font-family: uniicons;        font-size: 24px;        font-weight: normal;        font-style: normal;        width: 24px;        height: 24px;        line-height: 24px;        color: #999999;    }    .uni-eye-active {        color: #007AFF;    }</style>
 |