在ExtJs 6.2上,我有一个带有TextArea的表单。 当用户在多行上输入文本时,例如:
line 1
line 2
绑定值目前是一个字符串:
value= "line 1↵line 2"
但是当商店提交时,我需要将值(发送到服务器)作为数组发送。
如何告诉textarea将输入文本作为数组返回?
value : ["line1", "line2"]
无需在服务器端将字符串拆分为数组。
编辑:我不想只是拆分价值。因为我会更新textarea的默认行为,以避免每次使用它时都必须应用拆分(在ViewController中)。
答案 0 :(得分:2)
的document.getElementById( 'textarea的')。value.split( '↵')
答案 1 :(得分:2)
我创造了一个如何接近它的小提琴(假设我已正确理解你的要求!)
https://fiddle.sencha.com/#view/editor&fiddle/1uq7
此示例在进入textarea时将数组转换为字符串,并在出路时将其拆分。
Ext.define('ArrayTextArea', {
extend: 'Ext.form.field.TextArea',
alias: 'widget.arraytextarea',
setValue: function(val){
// if it's an array then join with a newline
if(Ext.isArray(val)){
val = val.join('\n');
}
return this.callParent([val]);
},
getValue: function(){
var val = this.callParent(arguments);
// split the value by newline char
return val.split('\n');
}
});

答案 2 :(得分:0)
您可以使用sencha http://docs.sencha.com/extjs/5.0.0/api/Ext.form.field.TextArea.html#placeholder-simple-getValue提供的标准方式 检查并回复。