javascript - 如何限制textarea中每行的字符数?
问题描述
我有一个 Ext JS TextArea。在那里,我想将我的字符限制为每行 15 个字符,总行数不应超过 10。
我想在这里做的是
function(){
var myValue = this.getValue();
var myValueData = myValue.split(/\r*\n/);
myValueData.length = 10;
}
理想情况下,它应该省略第 10 行之后的所有行,但没有发生。另外如何限制每行最多 15 个字符?
解决方案
您可以尝试一下,虽然不完美,但应该可以。
也许使用更改侦听器,覆盖组件上的 setValue 或 setRawValue 函数会更好。
https://fiddle.sencha.com/#view/editor&fiddle/2js1
{
xtype: 'textareafield',
grow: true,
name: 'message',
fieldLabel: 'Message',
anchor: '100%',
listeners: {
change: function (cmp, newVal, oldVal) {
var arrayForEachLine = newVal.split(/\r\n|\r|\n/g);
var newVal = [];
Ext.Array.each(arrayForEachLine, function (line, index) {
if (line.length >= 10) {
offset = line;
while (offset.length > 0) {
newVal.push(offset.substring(0, 10));
offset = offset.substring(10);
}
} else {
newVal.push(line);
}
if (index === 10) return false;
if (newVal.length >= 10) {
newVal = newVal.slice(0, 10);
return false;
}
});
cmp.suspendEvent('change');
cmp.setValue(newVal.join('\n'));
cmp.resumeEvent('change');
}
}
}
推荐阅读
- json - Json 数组问题.. 我真的需要帮助 --- .net core mvc
- android - Android gradle 模块循环依赖
- mongodb - 为同一查询生成不同的文档
- c# - “绑定”问题必须具有非空值
- ruby-on-rails - 如何验证取决于不同的提交按钮
- c# - Terminal.Gui c# - 有什么方法可以将 Dim 转换为 int?
- javascript - Typescript React 无法识别传递给功能组件的道具,ts 2740
- javascript - 如何在我的日期选择器上启用未来年份?
- php - PHP 调用未定义的方法 - pdo 实例化
- azure - Azure PowerShell:Get-AzVM 不显示输出