This commit is contained in:
2025-09-14 00:21:54 +08:00
commit d40b3bbd62
766 changed files with 36275 additions and 0 deletions

View File

@@ -0,0 +1,313 @@
const __templateJs = require("./templates.js");
const __mergePageOptions = require("../../util/mergePageOptions.js");
Page(__mergePageOptions({
onShareAppMessage() {
return {
title: 'input',
path: 'page/component/pages/input/input'
};
},
data: {
// 非受控
inputNotBindValue: '',
// 非受控有长度
inputNotBindValueMaxLength: '',
// 受控
inputBindValue: '',
// 受控只能输入英文
wordValue: '',
// 受控有长度
inputMaxLengthValue: '',
// 不限制长度
inputMaxLengthInfinity: '',
// 密码输入
inputPassword: '',
// 数字输入
inputNumber: '',
// 不可输入
disabledValue: 'disabled',
inputValue: '',
inputChangeValue: '',
// 非受控 textarea
textareaNotBindValue: '',
// 受控 textarea
textareaBindValue: '',
// 受控只能输入英文
textareaWordValue: '',
// 受控最大长度
textareaMaxLengthValue: '',
// 非受控最大
textareaNoBindMaxLengthValue: '',
// 无限长度的 textarea
textareaInfinityLengthValue: '',
// 不可输入的 textarea
textareaDisabled: `I'm disabled
I'm disabled
I'm disabled
`,
password: false,
focus: false,
value: '',
type: 'text',
placeholder: '',
placeholderClass: 'input-placeholder',
disabled: false,
maxlength: 140,
autoFocus: false,
cursor: -1,
selectionStart: -1,
selectionEnd: -1,
focusTime: 0,
blurTime: 0
},
// 非受控
bindNotBindInput(e) {
this.setData({
inputNotBindValue: e.detail.value
});
},
// 非受控有长度
bindInputNotBindValueMaxLength(e) {
this.setData({
inputNotBindValueMaxLength: e.detail.value
});
},
// 受控
bindBindInput(e) {
this.setData({
inputBindValue: e.detail.value
});
},
// 受控只能输入英文
bindWordInput(e) {
const value = e.detail.value;
console.log("%c Line:46 🍐 value", "color:#93c0a4", value);
// 过滤非英文字母
const valueFilter = value.replace(/[^A-Za-z]/ig, '');
console.log("%c Line:49 🥕 valueFilter", "color:#42b983", valueFilter);
this.setData({
wordValue: valueFilter
});
},
// 受控 textarea 只能输入英文
bindTextareaWordInput(e) {
const value = e.detail.value;
console.log("%c Line:46 🍐 value", "color:#93c0a4", value);
// 过滤非英文字母
const valueFilter = value.replace(/[^A-Za-z]/ig, '');
console.log("%c Line:49 🥕 valueFilter", "color:#42b983", valueFilter);
this.setData({
textareaWordValue: valueFilter
});
},
// 受控有长度
bindMaxLengthInput(e) {
this.setData({
inputMaxLengthValue: e.detail.value
});
},
// 受控不限制长度
bindInputMaxLengthInfinity(e) {
this.setData({
inputMaxLengthInfinity: e.detail.value
});
},
// 受控密码输入
bindPasswordInput(e) {
this.setData({
inputPassword: e.detail.value
});
},
// 输入数字
bindNumberInput(e) {
this.setData({
inputNumber: e.detail.value
});
},
// 不可输入
bindDisabledInput(e) {
this.setData({
disabledValue: e.detail.value
});
},
// 非受控 textarea
bindTextareaNoBindInput(e) {
this.setData({
textareaNotBindValue: e.detail.value
});
},
// 受控 textarea
bindTextareaBindValue(e) {
console.log("%c Line:63 🌰 e", "color:#6ec1c2", e);
this.setData({
textareaBindValue: e.detail.value
});
},
// 最大长度
bindTextareaMaxLengthInput(e) {
this.setData({
textareaMaxLengthValue: e.detail.value
});
},
bindTextareaNoBindMaxLengthValue(e) {
this.setData({
textareaNoBindMaxLengthValue: e.detail.value
});
},
// 长度不受限的 textarea
bindTextareaInfinityLengthValue(e) {
this.setData({
textareaInfinityLengthValue: e.detail.value
});
},
// 不可输入的 textarea
bindTextareaDisabledInput(e) {
this.setData({
textareaDisabled: e.detail.value
});
},
bindKeyInput(e) {
this.setData({
inputValue: e.detail.value
});
},
bindReplaceInput(e) {
xhs.showToast({
title: e.detail.value,
icon: 'success',
duration: 2000
});
this.setData({
value: e.detail.value
});
// const value = e.detail.value
// let pos = e.detail.cursor
// let left
// if (pos !== -1) {
// // 光标在中间
// left = e.detail.value.slice(0, pos)
// // 计算光标的位置
// pos = left.replace(/11/g, '2').length
// }
// // 直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置
// return {
// value: value.replace(/11/g, '2'),
// cursor: pos,
// }
// 或者直接返回字符串,光标在最后边
// return value.replace(/11/g,'2'),
},
bindHideKeyboard(e) {
if (e.detail.value === '123') {
// 收起键盘
xhs.hideKeyboard();
}
},
changeValue({
detail
}) {
this.setData({
value: detail.value
});
},
changePlaceholder({
detail
}) {
this.setData({
placeholder: detail.value
});
},
changePlaceholderStyle({
detail
}) {
this.setData({
placeholderStyle: detail.value
});
},
changePlaceholderClass({
detail
}) {
this.setData({
placeholderClass: detail.value
});
},
changeDisabled() {
this.setData({
disabled: !this.data.disabled
});
},
changePassword() {
this.setData({
password: !this.data.password
});
},
changeMaxlength({
detail
}) {
this.setData({
maxlength: detail.value
});
},
changeFocus() {
this.setData({
focus: !this.data.focus
});
},
changeCursor({
detail
}) {
this.setData({
cursor: detail.value
});
},
changeType({
detail
}) {
this.setData({
type: detail.value
});
},
changeSelectionStart({
detail
}) {
this.setData({
selectionStart: detail.value
});
},
changeSelectionEnd({
detail
}) {
this.setData({
selectionEnd: detail.value
});
},
bindTextFocus({
timeStamp
}) {
this.setData({
focusTime: new Date(timeStamp).toLocaleString()
});
},
bindTextBlur({
timeStamp
}) {
this.setData({
blurTime: new Date(timeStamp).toLocaleString()
});
},
bindTextInput(e) {
console.log(`bindTextInput: ${JSON.stringify(e)}`);
this.setData({
inputChangeValue: e.detail.value
});
},
onChange(e) {
console.log('onChange', e);
},
bindconfirm(e) {
console.log('bindconfirm', e);
}
}, __templateJs));