文本框ui/textBox
文本框也叫输入框,文本框可用于让用户输入信息。
基本用法
import { VNode, render } from "ui/control";
import TextBox from "ui/textBox";
render(
__root__,
<TextBox placeholder="请输入内容..."></TextBox>
);
密码框
import { VNode, render } from "ui/control";
import TextBox from "ui/textBox";
render(
__root__,
<TextBox type="password" placeholder="请输入密码..."></TextBox>
);
事件
每次输入时都会触发 onInput
事件,内容改变后会触发 onChange
事件。
import { VNode, render } from "ui/control";
import TextBox from "ui/textBox";
render(
__root__,
<TextBox onChange={(e, s) => console.log("值 = " + s.value)}></TextBox>
);
验证
import { VNode, render } from "ui/control";
import TextBox from "ui/textBox";
render(
__root__,
<TextBox minLength={3} pattern={/^\d+$/} onChange={(e, s) => console.log("验证结果 = " + s.checkValidity().valid)}></TextBox>
);
更多验证功能请参考输入控件。
样式
基本样式
生日:
年龄:
自我介绍:
姓名:<input type="text" class="x-textbox" placeholder="请输入内容..." /> <br />
生日:<input type="date" class="x-textbox" placeholder="请输入内容..." /> <br />
年龄:<select class="x-textbox"><option>已成年</option><option>未成年</option></select> <br />
自我介绍:
<textarea class="x-textbox" placeholder="请输入内容..." rows="7"></textarea>
状态
只读:<input type="text" class="x-textbox" readonly="readonly" value="内容" />
禁用:<input type="text" class="x-textbox" disabled="disabled" value="内容" />
颜色
信息:<input type="text" class="x-textbox x-textbox-info" placeholder="请输入内容..." />
成功:<input type="text" class="x-textbox x-textbox-success" placeholder="请输入内容..." />
警告:<input type="text" class="x-textbox x-textbox-warning" placeholder="请输入内容..." />
错误:<input type="text" class="x-textbox x-textbox-error" placeholder="请输入内容..." />
尺寸
更大:<input type="text" class="x-textbox x-textbox-large" />
更小:<input type="text" class="x-textbox x-textbox-small" />
使用栅格布局提供的 .x-col-*
设置宽度。
更宽:<input type="text" class="x-textbox x-col-12" />
更窄:<input type="text" class="x-textbox x-col-4" />
使用工具样式提供的 .x-block
可占满整行。
<input type="text" class="x-textbox x-block" placeholder="任意内容..." />
选择框
<select class="x-textbox">
<option>A: B 没有说谎</option>
<option>B: C 说谎了</option>
<option>C: 我没有说谎</option>
<option>D: 只一人说谎</option>
</select>
<select class="x-textbox x-textbox-warning">
<option>A: B 没有说谎</option>
<option>B: C 说谎了</option>
<option>C: 我没有说谎</option>
<option>D: 只一人说谎</option>
</select>
<select class="x-textbox x-textbox-error">
<option>A: B 没有说谎</option>
<option>B: C 说谎了</option>
<option>C: 我没有说谎</option>
<option>D: 只一人说谎</option>
</select>
<select class="x-textbox x-textbox-success">
<option>A: B 没有说谎</option>
<option>B: C 说谎了</option>
<option>C: 我没有说谎</option>
<option>D: 只一人说谎</option>
</select>
列表框
<select multiple class="x-textbox">
<option>A: B 没有说谎</option>
<option>B: C 说谎了</option>
<option>C: 我没有说谎</option>
<option>D: 只一人说谎</option>
</select>
API
TextBox 类
继承自:Input
表示一个文本框。
字段 | 类型 | 描述 | 继承自 |
---|---|---|---|
⮞
onSelectEnd
: (e: UIEvent, sender: TextBox) => void
|
function
|
选择结束事件。 |
— |
⮞
value
: string
|
string
|
(已覆盖)值。 |
Input |
⮞
input
: HTMLInputElement
|
HTMLInputElement
|
(只读)内部关联的输入框元素。 |
Input |
⮞
name
: string
|
string
|
名字。 |
Input |
⮞
defaultValue
: string
|
string
|
默认值。 |
Input |
⮞
type
: string
|
string
|
输入框的类型。 |
Input |
⮞
placeholder
: string
|
string
|
未输入内容时的占位符。 |
Input |
⮞
disabled
: boolean
|
boolean
|
是否禁用。 |
Input |
⮞
readOnly
: boolean
|
boolean
|
是否只读。 |
Input |
⮞
tabIndex
: number
|
number
|
TAB 键切换顺序。 |
Input |
⮞
tabStop
: boolean
|
boolean
|
是否允许 TAB 键停靠。 |
Input |
⮞
onCopy
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
复制事件。 |
Input |
⮞
onCut
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
剪切事件。 |
Input |
⮞
onPaste
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
粘贴事件。 |
Input |
⮞
onBeforeCopy
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
即将复制事件。 |
Input |
⮞
onBeforeCut
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
即将剪切事件。 |
Input |
⮞
onBeforePaste
: (e: ClipboardEvent, sender: TextBox) => void
|
function
|
即将粘贴事件。 |
Input |
⮞
onFocus
: (e: FocusEvent, sender: TextBox) => void
|
function
|
获取焦点事件。 |
Input |
⮞
onBlur
: (e: FocusEvent, sender: TextBox) => void
|
function
|
失去焦点事件。 |
Input |
⮞
onFocusIn
: (e: FocusEvent, sender: TextBox) => void
|
function
|
当前元素和子元素获取焦点事件。 |
Input |
⮞
onFocusOut
: (e: FocusEvent, sender: TextBox) => void
|
function
|
当前元素和子元素失去焦点事件。 |
Input |
⮞
onInput
: (e: Event, sender: TextBox) => void
|
function
|
输入事件。 |
Input |
⮞
onChange
: (e: Event, sender: TextBox) => void
|
function
|
更改事件。 |
Input |
⮞
onKeyDown
: (e: KeyboardEvent, sender: TextBox) => void
|
function
|
键盘按下事件。 |
Input |
⮞
onKeyPress
: (e: KeyboardEvent, sender: TextBox) => void
|
function
|
键盘点击事件。 |
Input |
⮞
onKeyUp
: (e: KeyboardEvent, sender: TextBox) => void
|
function
|
键盘按上事件。 |
Input |
⮞
onEnter
: (e: KeyboardEvent, sender: TextBox) => void
|
function
|
回车事件。 |
Input |
⮞
status
: Status
|
Status
|
控件状态。 |
Input |
⮞
statusClassPrefix
: string
|
string
|
控件状态前缀。 |
Input |
⮞
hideSuccess
: boolean
|
boolean
|
是否隐藏验证成功状态。 |
Input |
⮞
noValidate
: boolean
|
boolean
|
是否禁用验证。 |
Input |
⮞
validateEvent
: string
|
string
|
触发验证的事件。 |
Input |
⮞
required
: boolean
|
boolean
|
字段是否必填。 |
Input |
⮞
requiredMessage
: string
|
string
|
字段不满足必填时的提示文案。 |
Input |
⮞
maxLength
: number
|
number
|
最大长度。-1 表示不限制。 |
Input |
⮞
maxLengthMessage
: string
|
string
|
字段不满足最大长度时的提示文案。 |
Input |
⮞
minLength
: number
|
number
|
最小长度。-1 表示不限制。 |
Input |
⮞
minLengthMessage
: string
|
string
|
字段不满足最小长度时的提示文案。 |
Input |
⮞
max
: any
|
any
|
最大值。 |
Input |
⮞
maxMessage
: string
|
string
|
字段不满足最大值时的提示文案。 |
Input |
⮞
min
: any
|
any
|
最小值。 |
Input |
⮞
minMessage
: string
|
string
|
字段不满足最小值时的提示文案。 |
Input |
⮞
pattern
: RegExp
|
RegExp
|
匹配格式的正则表达式。 |
Input |
⮞
patternMessage
: string
|
string
|
字段不满足格式时的提示文案。 |
Input |
⮞
validateErrorMessage
: string
|
string
|
验证失败的提示文案。 |
Input |
⮞
validateStartMessage
: string
|
string
|
开始异步验证的提示文案。 |
Input |
⮞
validateStartMessagePrefix
: string
|
string
|
开始异步验证的提示文案前缀。 |
Input |
⮞
validateInfoMessagePrefix
: string
|
string
|
验证信息状态的提示文案前缀。 |
Input |
⮞
validateErrorMessagePrefix
: string
|
string
|
验证失败状态的提示文案前缀。 |
Input |
⮞
validateWarningMessagePrefix
: string
|
string
|
验证警告状态的提示文案前缀。 |
Input |
⮞
validateSuccessMessagePrefix
: string
|
string
|
验证成功状态的提示文案前缀。 |
Input |
⮞
willValidate
: boolean
|
boolean
|
(只读)判断当前输入域是否需要验证。 |
Input |
⮞
validateDelay
: number
|
number
|
验证事件触发后延时验证的毫秒数。 |
Input |
⮞
revalidateDelay
: number
|
number
|
重新验证事件触发后延时验证的毫秒数。 |
Input |
⮞
onValidate
: (value: string, sender: TextBox) => ValidityResult
|
function
|
验证事件。 |
Input |
⮞
onReportValidity
: (validityResult: NormalizedValidityResult, sender: TextBox) => boolean | void
|
function
|
报告验证结果事件。 |
Input |
⮞
validityToolTipOptions
: Partial<ToolTip>
|
Partial<ToolTip>
|
验证工具提示的选项。 |
Input |
⮞
readyState
: ControlState
|
ControlState
|
获取当前控件的渲染状态。 |
Control |
⮞
elem
: HTMLElement
|
HTMLElement
|
关联的元素。 |
Control |
⮞
vNode
: VNode
|
VNode
|
(保护的)获取当前控件关联的虚拟节点。 |
Control |
⮞
sourceVNode
: VNode
|
VNode
|
获取创建该控件使用的源虚拟节点。 |
Control |
⮞
alwaysUpdate
: boolean
|
boolean
|
控件是否使用主动更新模式。 |
Control |
⮞
body
: HTMLElement
|
HTMLElement
|
(只读)获取用于包含子控件和节点的根元素。 |
Control |
⮞
duration
: number = 200
|
number
|
渐变的持续毫秒数。如果为 0 则不使用渐变。 |
Control |
⮞
class
: string
|
string
|
CSS 类名。 |
Control |
⮞
style
: string | { [key: string]: string | number; }
|
string | object
|
控件样式。 |
Control |
⮞
id
: string
|
string
|
控件序号。 |
Control |
⮞
content
: NodeLike
|
NodeLike
|
控件内容。 |
Control |
⮞
onSelectStart
: (e: Event, sender: TextBox) => void
|
function
|
选择开始事件。 |
Control |
⮞
onClick
: (e: MouseEvent, sender: TextBox) => void
|
function
|
点击事件。 |
Control |
⮞
onAuxClick
: (e: MouseEvent, sender: TextBox) => void
|
function
|
中键点击事件。 |
Control |
⮞
onDblClick
: (e: MouseEvent, sender: TextBox) => void
|
function
|
双击事件。 |
Control |
⮞
onContextMenu
: (e: PointerEvent, sender: TextBox) => void
|
function
|
右键菜单事件。 |
Control |
⮞
onMouseDown
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标按下事件。 |
Control |
⮞
onMouseUp
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标按上事件。 |
Control |
⮞
onMouseOver
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标移入事件。 |
Control |
⮞
onMouseOut
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标移开事件。 |
Control |
⮞
onMouseEnter
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标进入事件。 |
Control |
⮞
onMouseLeave
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标离开事件。 |
Control |
⮞
onMouseMove
: (e: MouseEvent, sender: TextBox) => void
|
function
|
鼠标移动事件。 |
Control |
⮞
onWheel
: (e: WheelEvent, sender: TextBox) => void
|
function
|
鼠标滚轮事件。 |
Control |
⮞
onScroll
: (e: UIEvent, sender: TextBox) => void
|
function
|
滚动事件。 |
Control |
⮞
onTouchStart
: (e: TouchEvent, sender: TextBox) => void
|
function
|
触摸开始事件。 |
Control |
⮞
onTouchMove
: (e: TouchEvent, sender: TextBox) => void
|
function
|
触摸移动事件。 |
Control |
⮞
onTouchEnd
: (e: TouchEvent, sender: TextBox) => void
|
function
|
触摸结束事件。 |
Control |
⮞
onTouchCancel
: (e: TouchEvent, sender: TextBox) => void
|
function
|
触摸撤销事件。 |
Control |
⮞
onPointerEnter
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针进入事件。 |
Control |
⮞
onPointerLeave
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针离开事件。 |
Control |
⮞
onPointerOver
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针移入事件。 |
Control |
⮞
onPointerOut
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针移开事件。 |
Control |
⮞
onPointerDown
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针按下事件。 |
Control |
⮞
onPointerMove
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针移动事件。 |
Control |
⮞
onPointerUp
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针松开事件。 |
Control |
⮞
onPointerCancel
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针取消事件。 |
Control |
⮞
onGotPointerCapture
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针开始捕获事件。 |
Control |
⮞
onLostPointerCapture
: (e: PointerEvent, sender: TextBox) => void
|
function
|
指针停止捕获事件。 |
Control |
方法 | 描述 | 继承自 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
⮞
select()():
全选当前控件。 返回值类型: |
全选当前控件。 |
— | ||||||||
⮞
render()():
|
(保护的)(已覆盖)当被子类重写时负责返回当前控件的虚拟节点。 |
Input |
||||||||
⮞
isHidden()():
|
判断输入域样式是否被隐藏。 |
Input |
||||||||
⮞
init()():
|
(保护的)当被子类重写时负责在关联元素后初始化当前控件。 |
Control |
||||||||
⮞
handleValidateEvent()():
|
(保护的)处理验证事件。 |
Input |
||||||||
⮞
checkValidity()():
验证当前输入域。 返回值类型: 返回验证结果。如果正在执行异步验证则返回一个确认对象。 继承自 |
验证当前输入域。 |
Input |
||||||||
⮞
validate(value)(value:
(保护的)当被子类重写时负责验证指定的值。
返回值返回验证结果。如果正在执行异步验证则返回一个确认对象。 继承自 |
(保护的)当被子类重写时负责验证指定的值。 |
Input |
||||||||
⮞
normlizeValidityResult(r)(r:
(保护的)规范化验证结果对象。
返回值类型: 继承自 |
(保护的)规范化验证结果对象。 |
Input |
||||||||
⮞
reportValidity()():
向用户报告验证结果。 返回值类型: 返回验证结果。如果正在执行异步验证则返回一个确认对象。 继承自 |
向用户报告验证结果。 |
Input |
||||||||
⮞
setCustomValidity(validityResult)(validityResult:
设置自定义的验证消息。
返回值类型: 继承自 |
设置自定义的验证消息。 |
Input |
||||||||
⮞
createValidityToolTip()():
|
(保护的)当被子类重写时负责创建当前输入框的默认验证提示。 |
Input |
||||||||
⮞
reset()():
|
重置当前输入域。 |
Input |
||||||||
⮞
focus()():
|
令当前控件获得焦点。 |
Input |
||||||||
⮞
blur()():
|
令当前控件失去焦点。 |
Input |
||||||||
⮞
layout(changes)(changes:
|
重新布局当前控件。 |
Control |
||||||||
⮞
uninit()():
|
(保护的)当被子类重写时负责在元素被取消关联前取消初始化当前控件。 |
Control |
||||||||
⮞
update()():
|
重新渲染当前控件。 |
Control |
||||||||
⮞
invalidate()():
|
使当前控件无效并在下一帧重新渲染。 |
Control |
||||||||
⮞
renderTo(parent, ...)(parent:
|
将当前控件渲染到指定的父控件或节点。 |
Control |
||||||||
⮞
find(selector)(selector:
|
在当前控件查找指定的子控件或节点。 |
Control |
||||||||
⮞
query(selector)(selector:
|
在当前控件查找匹配的所有子控件或节点。 |
Control |