Компоненты клавиатуры для мини-программы
npm i miniprogram-keyboard-type -S
"usingComponents": { "Passwordkeyboard": "/Ваш путь/Passwordkeyboard/index" }
* ```html
<Passwordkeyboard
valueLength="{{6}}"
title="密码键盘"
anonymous
isShow="{{isShow}}"
bind:onConfirm=""
bind:onCancel=""
/>
class | Описание |
---|---|
right_key | Стиль для кнопки удаления |
btn-confirm | Стиль для подтверждающей кнопки |
Параметр | Описание | Тип | Обязательно | Примечание |
---|---|---|---|---|
title | Заголовок | String | Да | |
valueLength | Длина | Number | Нет | По умолчанию 6 |
anonymous | Шифрование | Boolean | Нет | В пользовательском интерфейсе отображается как * |
isShow | Отображение | Boolean | Да | |
zIndex | Уровень z-индекса | Number | Нет | По умолчанию 50 |
safe-area-inset-bottom | Безопасная область снизу | Boolean | Нет |
Событие | Описание | Параметр |
---|---|---|
onCancel | Срабатывает при отмене | — |
onConfirm | Срабатывает при подтверждении | {'value':'123456'} |
— Рекомендуется использовать вместе с CarTypeInput и CarInputboard.
— CarTypeInput можно использовать в from.
— Отличается от carKeyboard и CarInputboard только стилем, без дополнительных параметров и методов.
— Для лучшего взаимодействия с пользователем необходимо реализовать функцию потери фокуса. Для этого нужно добавить событие клика на верхний уровень view. CarInputboard должен быть расположен вне верхнего уровня view.
"CarTypeInput": "/component/CarTypeInput/index",
"CarInputboard":"/component/CarInputboard/index"
<CarTypeInput
bind:onfocus="onfocus"
placeholder=""
name="carNum"
value="{{value}}"
isBlur="{{isblur}}"
/>
<CarInputboard
isBlur="{{isblur}}"
bind:ListenValue="getValue"
bind:onConfirm="onConfirm"
isShow="{{show}}"
/>
<!-- Необходимая реализация функции потери фокуса -->
<view bindtap="blur">
<view></view>
<view></view>
<TypeInput
bind:onfocus="onfocus"
placeholder=""
name="carNum"
value="{{value}}"
isBlur="{{isblur}}"
/>
<view></view>
<view></view>
</view>
<CarInputboard
isBlur="{{isblur}}"
bind:ListenValue="getValue"
bind:onConfirm="onClickBox"
isShow="{{show}}"
/>
Page({
data: {
show:false,
value:'',
isblur:true,
},
//Потеря фокуса
blur(e){
this.setData({
show:false,
isblur:true,
})
},
//Получение фокуса (клик)
onfocus(e){
this.setData({
show:true,
isblur:false,
})
},
//Завершение после нажатия на клавиатуре
onConfirm(){
this.setData({
show:false,
isblur:true
})
},
getValue(e){
this.setData({
value:e.detail.value
})
}
})
— TypeInput:
Класс | Описание |
---|---|
typeinput | Стиль поля ввода |
— TypeInput:
Параметр | Описание | Тип | Обязательный | Примечание |
---|---|---|---|---|
value | Значение | String | Нет | |
height | Высота поля ввода | Number | Нет | По умолчанию 60px |
| --- | --- |
| isBlur
| 是否失去聚焦
| Boolean | 是 | |
| lineColor
| 光标颜色
| 16进制 | 否 | #333
|
| name
| key值
| String | 否 |from 内使用必传**|
height
влияет на высоту курсора.name
в from
используется обязательно.isBlur
true означает потерю фокуса.CarInputboard
Параметр | Описание | Тип | Обязательно | Примечание |
---|---|---|---|---|
isShow |
Отображать ли клавиатуру | String | Да | Обязательно |
isBlur |
Потерял ли фокус | Number | Да | Обязательно |
safeAreaInsetBottom |
Безопасная область нижнего отступа (ios) | String | Нет |
isBlur
: true означает, что фокус потерян.События
TypeInput
Событие | Описание | Параметры |
---|---|---|
onfocus |
Получает фокус | - |
CarInputboard
Событие | Описание | Параметры |
---|---|---|
ListenValue |
Слушает изменение значения |
'value' : значение, 'sub' : длина, exp : регулярное выражение |
onConfirm |
Срабатывает при нажатии кнопки подтверждения | - |
Описание
carKeyboard
и carKeyInput
вместе.CarCardInput
, передайте CarNumid
, полученный с помощью onChangeCard
, компоненту CarCardboard
.Справочные материалы
Использование
"CarCardInput": "/Ваш путь/CarCardInput/index"
"CarCardboard": "/Ваш путь/carKeyInput/index"
<CarCardInput
value="{{value}}"
bind:onChangeCard="onChangeCard"
bind:onClickBox="onClickBox"
/>
<CarCardboard
bind:ListenValue="getValue"
bind:onConfirm="onClickBox"
CarNumid="{{CarNumid}}"
isShow="{{show}}"
/>
Page({
data: {
value:"",
valueStr:'',
CarNumId: 0,
show:false
},
getValue(e){
const value = e.detail.value;
this.setData({
value: value, // Значение — массив
valueStr: value.join('').toString(), // Полученная строка номера автомобиля
msg: e.detail.exp.msg || '' // Регулярное выражение возвращает информацию
})
},
// Срабатывает, когда изменяется тип автомобильного номера
onChangeCard(e) {
this.setData({
CarNumId: e.detail.CarNumId
})
},
// Срабатывает по щелчку на номер или поле ввода (отображение/скрытие клавиатуры)
onClickBox(e){
const {show} = this.data;
this.setData({
show:!show
})
}
})
Параметры
CarCardInput
Параметр | Описание | Тип | Обязателен | Примечание |
---|---|---|---|---|
value |
Рендерит значение | Array | Да | |
showCard |
Показывает ли переключатель карт | Boolean | Нет |
CarCardboard
Параметр | Описание | Тип | Обязателен | Примечание |
---|---|---|---|---|
CarNumid |
Индекс типа автомобильного номера | Number | Да | |
safe-area-inset-bottom |
Нижняя безопасная область (ios) | Boolean | Нет |
События
carKeyInput
Событие | Описание | Параметр |
---|---|---|
ChangeCard |
Когда меняется тип автомобильного номера | CarNumid |
onClickBox |
Срабатывает при клике | — |
carKeyInput
Событие | Описание | Параметр |
---|---|---|
ListenValue |
Следит за изменением значения | ’value‘:значение, ‘sub‘:длина, exp:регулярное выражение |
onConfirm |
Срабатывает после нажатия кнопки подтверждения | — |
Обновление наименования:
Добавление компонентов: TypeInput и CarInputboard.
Исправление: исправлена проблема мерцания компонента CarCardboard при переходе на страницу.
Прочее: удалены некоторые ненужные печатные журналы и параметры.
Авторский WeChat.
v1.1.20200411
carKeyboard:
v1.1.20200410
Passwordkeyboard:
carKeyboard:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )